Guía de referencia de Vultr Kubernetes Engine (VKE)

Introducción

Vultr Kubernetes Engine (VKE) es un producto de Kubernetes completamente administrado con precios predecibles. Cuando implemente VKE, obtendrá un plano de control de Kubernetes administrado que incluye nuestro Cloud Administrador del controlador (MCC) y el Interfaz de almacenamiento de contenedores (CSI). Además, puede configurar almacenamiento en bloque y balanceadores de carga o instalar complementos como el de Vultr DNS externo y Administrador de certificados . Hemos simplificado el alojamiento de Kubernetes para que pueda concentrarse en escalar su aplicación.

Audiencia

Esta guía de inicio rápido explica cómo implementar un clúster de VKE y asume que tiene experiencia en el uso de Kubernetes. Si tiene comentarios sobre esta guía, utilice el Sugerir una actualización botón en la parte inferior de la página.

Consulte nuestro registro de cambios para obtener información sobre las versiones compatibles de Kubernetes.

Cómo implementar un clúster de VKE

Puede implementar un nuevo clúster de VKE con unos pocos clics. Aquí le mostramos cómo empezar.

  1. Navegar a la página de Kubernetes en el Portal del cliente .

  2. Hacer clic Agregar clúster .

  3. Enter una etiqueta descriptiva para el Nombre del clúster .

  4. Seleccione la versión de Kubernetes.

  5. Elija una ubicación de implementación.

  6. Crea un grupo de nodos.

    Acerca de los grupos de nodos

    Al crear un clúster de VKE, puede asignar uno o más grupos de nodos con varios nodos por grupo. Para cada grupo de nodos, deberá realizar algunas selecciones.

    • Nombre del grupo de nodos : Enter una etiqueta descriptiva para el grupo de nodos.

    • Tipo de grupo de nodos : Varios tipos de grupos de nodos están disponibles, optimizados Cloud será el tipo de grupo de nodos predeterminado

    • Elección de Tipos de grupos de nodos consiste en:

      • optimizado Cloud

      • Regular Cloud Calcular

      • Alta frecuencia

      • Intel de alto rendimiento

      • AMD de alto rendimiento

    • Plan : todos los nodos en el grupo tendrán el mismo plan; sin embargo, todos los tipos de grupos de nodos tienen que ser iguales. Elija un tamaño apropiado para su carga de trabajo.

    • Cantidad de nodos : elija cuántos nodos debe haber en este grupo. Se recomienda encarecidamente utilizar más de un nodo.

    La tarifa mensual para el grupo de nodos se calcula a medida que realiza sus selecciones. Si desea implementar más de uno, haga clic en Agregar otro grupo de nodos .

  7. Cuando esté listo, haga clic en Implementar ahora .

Kubernetes requiere algo de tiempo para inventariar y configurar los nodos. Cuando VKE complete la configuración, el estado del clúster informará Correr . Para verificar el estado de su clúster, puede descargar su kubeconfig archivo (como se describe en la siguiente sección) y ejecute:

                      
                            kubectl --kubeconfig={PATH TO THE FILE} cluster-info

                      
                    

Cómo administrar un clúster de VKE

Después de implementar su clúster de VKE, debe recopilar cierta información y administrarla.

  1. Navegar a la Sección de Kubernetes del Portal del Cliente.

  2. Haga clic en el Administrar a la derecha del grupo deseado.

    En la pestaña Descripción general, verá la dirección IP de su clúster y la información del punto final.

  3. Haga clic en el Descargar configuración en la esquina superior derecha para descargar tu kubeconfig archivo, que tiene credenciales e información de punto final para controlar su clúster. Utilice este archivo con kubectl como se muestra:

                              
                                kubectl --kubeconfig={PATH TO THE FILE} get nodes
    
                              
                            

Acerca de kubeconfig

kubectl utiliza un archivo de configuración, conocido como kubeconfig para acceder a su clúster de Kubernetes.

Un archivo kubeconfig tiene información sobre el clúster, como usuarios, espacios de nombres y mecanismos de autenticación. los kubectl El comando usa kubeconfig para encontrar un clúster y comunicarse con él. El kubeconfig predeterminado es ~/.kube/config a menos que anule esa ubicación en la línea de comandos o con una variable de entorno. El orden de precedencia es:

  1. Si configura el --kubeconfig bandera, kubectl carga solo ese archivo. Puede usar solo una bandera y no se produce ninguna fusión.

  2. Si configura el $KUBECONFIG variable de entorno, se analiza como una lista de rutas del sistema de archivos de acuerdo con las reglas de delimitación de rutas normales para su sistema.

  3. De lo contrario, kubectl usa ~/.kube/config archivo y no se produce ninguna fusión.

Por favor vea el Documentación de Kubernetes para más detalles.

Administrar los grupos de nodos

Para administrar grupos de nodos, haz clic en el Nodos pestaña en el Administrar clúster página.

Administrar nodos

Tienes varios controles disponibles:

  • Haga clic en el nombre del grupo de nodos para expandir el grupo y ver los nodos individuales. Puede reemplazar o eliminar nodos individualmente.

  • Hacer clic Agregar grupo de nodos para agregar otra piscina.

  • Haga clic en – o + para disminuir o aumentar el número de nodos.

  • Haga clic en el X icono a la derecha de la piscina para destruir la piscina.

Importante: Debe usar el Panel de VKE o los puntos finales de Kubernetes de la API de Vultr para eliminar los nodos de trabajo de VKE. Si elimina un nodo trabajador de otra parte del portal del cliente o con extremos de instancia de la API de Vultr, Vultr volverá a implementar el nodo trabajador para conservar la configuración definida del grupo de nodos del clúster de VKE.

Gestión de recursos

Para administrar los recursos vinculados a VKE, como Block Storage y Load Balancers, haga clic en el Recursos vinculados pestaña en el Administrar clúster página.

Captura de pantalla de recursos vinculados

Acerca del plano de control administrado

Cuando implementa VKE, automáticamente obtiene varios componentes administrados. Aunque no necesita implementarlos ni configurarlos usted mismo, aquí hay descripciones breves con enlaces a más información.

Cloud Administrador del controlador

vultr Cloud Controller Manager (CCM) es parte del plano de control administrado que conecta las funciones de Vultr con su clúster de Kubernetes. El CCM supervisa el estado del nodo, asigna sus direcciones IP e implementa automáticamente Load Balancers administrados según sea necesario para sus servicios de Kubernetes Load Balancer/Ingress. Más información sobre el MCP en GitHub.

Interfaz de almacenamiento de contenedores

Si su aplicación conserva datos, necesitará almacenamiento. El plano de control administrado de VKE implementa automáticamente Vultr Interfaz de almacenamiento de contenedores (CSI) para conectar su clúster de Kubernetes con el almacenamiento en bloque de alta velocidad de Vultr de forma predeterminada. Más información sobre el CSI en GitHub.

  • Nota: ReadWriteOnce es el único modo de acceso permitido para Vultr Block Storage.

  • Importante: Debe usar volúmenes de Block Storage para datos persistentes. El almacenamiento en disco local en los nodos trabajadores es transitorio y se perderá durante las actualizaciones de Kubernetes.

Vultr ofrece dos tecnologías de almacenamiento en bloque: disco duro y NVMe .

Almacenamiento en bloque de disco duro

HDD es una opción asequible que utiliza discos duros giratorios tradicionales y admite volúmenes de más de 10 TB.

  • Clase de almacenamiento CSI: vultr-block-storage-hdd

  • Tamaño de volumen mínimo: 40GB

  • Tamaño máximo del volumen: 40TB

  • Tecnología: Unidad de disco duro giratoria

  • Disponibilidad: La mayoría de las ubicaciones de Vultr

  • Función clave: Almacenamiento asequible y mayores volúmenes

Almacenamiento en bloque NVMe

NVMe es una opción de mayor rendimiento para cargas de trabajo que requieren una E/S rápida.

  • Clase de almacenamiento CSI: vultr-block-storage

  • Tamaño de volumen mínimo: 10GB

  • Tamaño máximo del volumen: 10TB

  • Tecnología: NVMe de estado sólido

  • Disponibilidad: Muchas ubicaciones de Vultr

  • Función clave: E/S de mayor rendimiento

Disponibilidad de almacenamiento en bloque

Utilizar el /v2/regions punto final de la API para descubrir qué clases de almacenamiento están disponibles en su ubicación.

  • block_storage_storage_opt indica que el almacenamiento HDD está disponible.

  • block_storage_high_perf indica que el almacenamiento NVMe está disponible.

Algunas ubicaciones admiten ambas clases de almacenamiento. Si el almacenamiento en bloque NVMe está disponible en una ubicación, nuestro CSI usa esa clase de forma predeterminada.

Uso de almacenamiento en bloque

Para usar el almacenamiento en bloque con VKE, implemente un reclamo de volumen persistente (PVC). Para examplepara implementar un bloque de 10 Gi en su cuenta para VKE con almacenamiento respaldado por NMVe, use una plantilla PersistentVolumeClaim como esta:

                      
                        apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: csi-pvc

spec:

  accessModes:

    - ReadWriteOnce

  resources:

    requests:

      storage: 10Gi

  storageClassName: vultr-block-storage

                      
                    

Para adjuntar este PVC a un Pod, defina un nodo de volumen en su plantilla de Pod. Nota la claimName a continuación es csi-pvc haciendo referencia a PersistentVolumeClaim en el example arriba.

                      
                        kind: Pod

apiVersion: v1

metadata:

  name: readme-app

spec:

  containers:

    - name: readme-app

      image: busybox

      volumeMounts:

        - mountPath: "/data"

          name: vultr-volume

      command: [ "sleep", "1000000" ]

  volumes:

    - name: vultr-volume

      persistentVolumeClaim:

        claimName: csi-pvc

                      
                    

Para obtener más información sobre los volúmenes persistentes, consulte la Documentación de Kubernetes . Si desea obtener más información sobre Vultr CSI, ver nuestro repositorio de GitHub .

Equilibrador de carga de VKE

Los Load Balancers en VKE ofrecen las mismas funciones y capacidades que los Load Balancers administrados independientes. Para implementar un balanceador de carga de VKE para su aplicación, agregue un LoadBalancer escriba en el archivo de configuración de su servicio y use anotaciones de metadatos para decirle al CCM cómo configurar el balanceador de carga de VKE. VKE implementará el balanceador de carga del servicio de Kubernetes de acuerdo con la configuración de su servicio y lo adjuntará al clúster.

Aquí hay un example archivo de configuración del servicio que declara un equilibrador de carga para el tráfico HTTP en el puerto 80. El selector de aplicaciones app-name coincide con un conjunto de pods de servicio existente en su clúster.

                      
                        apiVersion: v1

kind: Service

metadata:

  annotations:

    service.beta.kubernetes.io/vultr-loadbalancer-protocol: "http"

  name: vultr-lb-http

spec:

  type: LoadBalancer

  selector:

    app: app-name

  ports:

    - port: 80

      name: "http"

                      
                    

Observe las anotaciones en la sección de metadatos. Las anotaciones son la forma en que configura el balanceador de carga, y encontrará la lista completa de anotaciones disponibles en nuestro repositorio de GitHub.

Aquí hay otro balanceador de carga example que escucha en el puerto HTTP 80 y en el puerto HTTPS 443. El certificado SSL se declara como un secreto TLS de Kubernetes denominado ssl-secret que esto example se supone que ya estaba implementado. Ver la documentación de TLS Secrets para obtener información sobre cómo implementar un secreto TLS.

                      
                        apiVersion: v1

kind: Service

metadata:

  annotations:

    service.beta.kubernetes.io/vultr-loadbalancer-protocol: "http"

    service.beta.kubernetes.io/vultr-loadbalancer-https-ports: "443"

    # You will need to have created a TLS Secret and pass in the name as the value

    service.beta.kubernetes.io/vultr-loadbalancer-ssl: "ssl-secret"

  name: vultr-lb-https

spec:

  type: LoadBalancer

  selector:

    app: app-name

  ports:

    - port: 80

      name: "http"

    - port: 443

      name: "https"

                      
                    

A medida que aumenta o reduce la cantidad de nodos trabajadores del clúster, VKE administra su conexión al balanceador de carga. Si desea obtener información general sobre los balanceadores de carga de Kubernetes, consulte la documentación en kubernetes.io .

Administrador de certificados VKE

VKE Cert Manager agrega certificados y emisores de certificados como tipos de recursos en VKE y simplifica el proceso de obtención, renovación y uso de esos certificados. Nuestro Documentación del administrador de certificados está en GitHub, y puedes usar Gráfico Helm de Vultr para instalar Cert Manager .

DNS externo de VKE

ExternalDNS hace que los recursos de Kubernetes sean detectables a través de servidores DNS públicos. Para más información, vea nuestro tutorial para configurar ExternalDNS con Vultr DNS .

Preguntas frecuentes

¿Qué es Vultr Kubernetes Engine?

Vultr Kubernetes Engine es una oferta de productos completamente administrada con precios predecibles que hace que Kubernetes sea fácil de usar. Vultr administra el plano de control y los nodos de trabajo y proporciona integración con otros servicios administrados, como Load Balancers, Block Storage y DNS.

¿Qué versiones de Kubernetes admite VKE?

Consulte nuestro registro de cambios para obtener información sobre las versiones compatibles de Kubernetes.

¿Cuánto cuesta Vultr Kubernetes Engine?

Vultr Kubernetes Engine incluye el plano de control administrado de forma gratuita. Usted paga por los nodos trabajadores, los balanceadores de carga y los recursos de almacenamiento en bloque que implementa. Los nodos de trabajo y los balanceadores de carga se ejecutan en las instancias del servidor en la nube Vultr de su elección con 2 GB de RAM o más. Consulte nuestras tarifas por hora.

¿Existe un tamaño mínimo para los volúmenes de Block Storage?

Sí, el tamaño mínimo para un volumen de Block Storage es de 10 GB.

¿Puedo implementar un servidor Bare Metal en mi clúster de Kubernetes?

Kubernetes utiliza servidores en la nube Vultr. No es compatible con servidores Bare Metal.

¿VKE viene con un controlador de ingreso?

No, VKE no viene con un controlador de ingreso preconfigurado. Vultr Load Balancers funcionará con cualquier controlador de entrada que implemente. Los controladores de entrada populares incluyen Nginx , HAProxy y Traefik .

¿Qué interfaz de red de contenedores (CNI) usa VKE?

usos VKE Calicó .

Título del artículo Nombre (opcional) Correo electrónico (opcional) Descripción

Enviar sugerencia

Related Posts