Crear un clúster de usuario

En esta página, se muestra cómo crear un clúster de usuario para clústeres de Anthos alojados en VMware (GKE On-Prem).

Las instrucciones que aparecen aquí están completas. Para obtener una introducción más breve para crear un clúster de usuario, consulta Crea un clúster de usuario (guía de inicio rápido).

Antes de comenzar

Crea un clúster de administrador.

Obtén una conexión SSH a tu estación de trabajo de administrador

Obtén una conexión SSH a tu estación de trabajo de administrador

Recuerda que gkeadm activó tu cuenta de servicio de acceso a componentes en la estación de trabajo de administrador.

Sigue todos los pasos restantes de este tema en tu estación de trabajo de administrador en el directorio principal.

Archivo de configuración de credenciales

Cuando usaste gkeadm para crear tu estación de trabajo de administrador, completaste un archivo de configuración de credenciales llamado credential.yaml. Este archivo contiene el nombre de usuario y la contraseña de tu servidor de vCenter.

Archivo de configuración de clústeres de usuarios

Cuando gkeadm creó la estación de trabajo de administrador, generó un segundo archivo de configuración llamado user-cluster.yaml. Este archivo de configuración sirve para crear tu clúster de usuario.

Completa el archivo de configuración

name

Configura el campo name con el nombre que desees para el clúster de usuarios.

gkeOnPremVersion

Ya se completó este campo.

vCenter

Los valores que estableces en la sección vCenter del archivo de configuración del clúster de administrador son globales. Es decir, se aplican a tu clúster de administrador y a tus clústeres de usuario.

Para cada clúster de usuario que crees, tienes la opción de anular algunos de los valores de vCenter globales.

Si deseas anular cualquiera de los valores de vCenter globales, completa los campos relevantes en la sección vCenter del archivo de configuración de tu clúster de usuario.

network

Configura network.ipMode.type con el mismo valor que estableciste en tu archivo de configuración del clúster de administrador: "dhcp" o "static".

Si configuras ipMode.type como "static", crea un archivo de bloque de IP que proporcione las direcciones IP estáticas de los nodos de tu clúster de usuario. Luego, establece network.ipMode.ipBlockFilePath en la ruta de tu archivo de bloque de IP.

Proporciona valores para los campos restantes en la sección network.

Independientemente de que utilices un servidor DHCP o especifiques una lista de direcciones IP estáticas, necesitas suficientes direcciones IP para cumplir con lo siguiente:

  • Los nodos en tu clúster de usuario

  • Un nodo adicional en el clúster del usuario que se usará de forma temporal durante las actualizaciones

Como se mencionó antes, si deseas usar direcciones IP estáticas, debes proporcionar un archivo de bloque de IP. A continuación, te mostramos un ejemplo de un archivo de bloque de IP con seis hosts: Esto es suficiente para un clúster con cinco nodos y un sexto nodo ocasional para las actualizaciones:

blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.21
      hostname: user-host1
    - ip: 172.16.20.22
      hostname: user-host2
    - ip: 172.16.20.23
      hostname: user-host3
    - ip: 172.16.20.24
      hostname: user-host4
    - ip: 172.16.20.25
      hostname: user-host5
    - ip: 172.16.20.26
      hostname: user-host6

loadBalancer

Reserva una VIP para el servidor de la API de Kubernetes del clúster de usuario. Dedica otro VIP para el servicio de entrada de tu clúster de usuario. Proporciona tus VIP como valores para loadBalancer.vips.controlPlaneVIP y loadBalancer.vips.ingressVIP.

Configura loadBalancer.kind con el mismo valor que estableciste en tu archivo de configuración de clúster de administrador: "ManualLB", "F5BigIP" o "Seesaw". Luego, completa la sección correspondiente: manualLB, f5BigIP o seesaw.

masterNode

Completa la sección masterNode.

nodePools

Completa la sección nodePools.

antiAffinityGroups

Establece antiAffinityGroups.enabled en true o false.

authentication

Si deseas usar OpenID Connect (OIDC) para autenticar usuarios, completa la sección authentication.oidc.

Si deseas proporcionar un certificado de entrega adicional para el servidor vCenter de tu clúster de usuario, completa la sección authentication.sni.

stackdriver

Completa la sección stackdriver.

gkeConnect

Completa la sección gkeConnect.

usageMetering

Si deseas habilitar la medición de uso para tu clúster, completa la sección usageMetering.

cloudAuditLogging

Si deseas integrar los registros de auditoría del servidor de la API de Kubernetes del clúster a los registros de auditoría de Cloud, completa la sección cloudAuditLogging.

Valida tu archivo de configuración

Una vez que hayas completado el archivo de configuración de tu clúster de administrador, ejecuta gkectl check-config para verificar que el archivo sea válido:

gkectl check-config --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_PATH]

Donde:

  • [ADMIN_CLUSTER_KUBECONFIG] es la ruta de acceso del archivo kubeconfig del clúster de administrador.

  • [CONFIG_PATH] es la ruta del archivo de configuración de tu clúster de usuario.

Si el comando muestra algún mensaje de error, soluciona los problemas y vuelve a validar el archivo.

Si deseas omitir las validaciones que llevan más tiempo, pasa la marca --fast. Para omitir validaciones individuales, usa las marcas --skip-validation-xxx. Para obtener más información sobre el comando check-config, consulta Ejecuta verificaciones previas.

Crea un balanceador de cargas de Seesaw para tu clúster de usuario

Si decidiste usar el balanceador de cargas de Seesaw integrado, realiza el paso en esta sección. De lo contrario, omite esta sección.

Crea y configura la VM para tu balanceador de cargas de Seesaw:

gkectl create loadbalancer --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config user-cluster.yaml

donde

  • ADMIN_CLUSTER_KUBECONFIG es la ruta de acceso del archivo kubeconfig del clúster de administrador.

Sube Container-Optimized OS a vCenter

Si elegiste crear un grupo de nodos de Container-Optimized OS para el clúster de usuario, debes subir Container-Optimized OS a vCenter.

Para subir Container-Optimized OS a vCenter, ejecuta este comando:

gkectl prepare --config ADMIN_CLUSTER_CONFIG_PATH --extra-os-image-types cos

En el ejemplo anterior, ADMIN_CLUSTER_CONFIG_PATH es la ruta de acceso del archivo de configuración de tu clúster de administrador.

Crear un clúster de usuario

Crear un clúster de usuario

gkectl create cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \
  --config [CONFIG_PATH]

donde

  • [CONFIG_PATH] es la ruta del archivo de configuración de tu clúster de usuario.

  • [ADMIN_CLUSTER_KUBECONFIG] es la ruta de acceso del archivo kubeconfig del clúster de administrador.

El comando gkectl create cluster crea un archivo kubeconfig llamado [USER_CLUSTER_NAME]-kubeconfig en el directorio actual. Necesitarás este archivo kubeconfig más adelante para interactuar con tu clúster de usuario.

Ubica el archivo kubeconfig del clúster de usuario

El comando gkectl create cluster crea un archivo kubeconfig llamado USER_CLUSTER_NAME-kubeconfig en el directorio actual. Necesitarás este archivo kubeconfig más adelante para interactuar con tu clúster de usuario.

Si lo deseas, puedes cambiar el nombre y la ubicación de tu archivo kubeconfig.

Verifica que el clúster de usuario esté en ejecución

Verifica que el clúster de usuario esté en ejecución:

kubectl get nodes --kubeconfig USER_CLUSTER_KUBECONFIG

Reemplaza USER_CLUSTER_KUBECONFIG con la ruta de tu archivo kubeconfig del clúster de usuario.

En el resultado, se muestran los nodos del clúster de usuario. Por ejemplo:

my-user-cluster-node-pool-69-d46d77885-7b7tx   Ready ...
my-user-cluster-node-pool-69-d46d77885-lsvzk   Ready ...
my-user-cluster-node-pool-69-d46d77885-sswjk   Ready ...

Soluciona problemas

Consulta Soluciona problemas de creación y actualización de clústeres.

¿Qué sigue?