Versión 1.7. Esta versión es compatible como se describe en la política de asistencia de la versión de Anthos, que ofrece los últimos parches y actualizaciones de vulnerabilidades de seguridad, exposiciones y problemas que afectan a los clústeres de Anthos alojados en VMware (GKE On-Prem). Consulta las notas de la versión para obtener más detalles. Esta es la versión más reciente.

Crea y administra grupos de nodos

En un clúster de usuario, puedes crear un grupo de nodos que tengan la misma configuración si completas la sección nodePools del archivo de configuración del clúster. Luego, puedes administrar el grupo de nodos sin afectar a los demás nodos del clúster. Más información acerca de los grupos de nodos

Antes de comenzar

Borrar un grupo de nodos hace que se quiten de forma inmediata los nodos del grupo, sin importar si estos ejecutan cargas de trabajo.

Puedes actualizar el campo replicas de una sección nodePool sin interrumpir las cargas de trabajo. Sin embargo, si actualizas cualquier otro campo, los nodos del grupo se borran y se vuelven a crear.

Si deseas adjuntar etiquetas a todas las VM en un grupo de nodos, tu cuenta de usuario de vCenter debe tener estos privilegios de etiquetado de vSphere:

  • vSphere Tagging.Assign o Unassign vSphere Tag
  • vSphere Tagging.Assign o Unassign vSphere Tag on Object (vSphere 7)

Cuando actualizas una sección nodePool, los clústeres de Anthos alojados en VMware crean un nodo nuevo y, luego, borran un nodo antiguo. Repite este proceso hasta que todos los nodos antiguos se hayan reemplazado por nodos nuevos. Esto significa que el clúster debe tener una dirección IP adicional disponible para usar durante la actualización. Verifica que haya suficientes direcciones IP disponibles

Completa la sección nodePools del archivo de configuración del clúster

En tu archivo de configuración de clúster de usuario, completa la sección nodePools.

Para cada grupo de nodos, debes especificar los siguientes campos:

  • nodePools.[i].name
  • nodePools[i].cpus
  • nodePools.[i].memoryMB
  • nodePools.[i].replicas

Los siguientes campos son opcionales:

  • nodePools[i].labels
  • nodePools[i].taints
  • nodePools[i].bootDiskSizeGB
  • nodePools[i].osImageType
  • nodePools[i].vsphere.datastore
  • nodePools[i].vsphere.tags

Crea grupos de nodos en un clúster nuevo

En tu archivo de configuración de clúster de usuario, completa la sección nodePools y, luego, crea el clúster:

gkectl create cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Reemplaza lo siguiente:

  • ADMIN_CLUSTER_KUBECONFIG: el archivo kubeconfig para el clúster de administrador

  • USER_CLUSTER_CONFIG: el archivo de configuración del clúster de usuario

Actualiza los grupos de nodos en un clúster existente

En tu archivo de configuración de clúster de usuario, edita la sección nodePools y actualiza el clúster:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Verifica tus cambios

Para verificar que tus grupos de nodos se crearon o actualizaron según lo previsto, inspecciona los nodos del clúster:

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG get nodes -o wide

Si necesitas revertir los cambios, edita el archivo de configuración del clúster y ejecuta gkectl update cluster.

Borra un grupo de nodos

Para borrar un grupo de nodos de un clúster de usuario, haz lo siguiente:

  1. Quita su definición de la sección nodePools del archivo de configuración del clúster de usuario.

  2. Asegúrate de que no haya cargas de trabajo en ejecución en los nodos afectados.

  3. Actualiza el clúster:

    gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
    

Ejemplos

En la siguiente configuración de ejemplo, hay cuatro grupos de nodos, cada uno con atributos diferentes:

  • pool-1: Solo se especifican los atributos mínimos obligatorios.
  • pool-2: Incluye vsphere.datastore y vsphere.tags.
  • pool-3: Incluye taints y labels.
  • pool-4: Incluye osImageType y bootDiskSizeGB.
nodePools:
- name: pool-1
  cpus: 4
  memoryMB: 8192
  replicas: 5
- name: pool-2
  cpus: 8
  memoryMB: 16384
  replicas: 3
  vsphere:
    datastore: my_datastore
    tags:
    - category: "purpose"
      name: "testing"
- name: pool-3
  cpus: 4
  memoryMB: 8192
  replicas: 5
  taints:
    - key: "example-key"
      effect: NoSchedule
  labels:
    environment: production
    app: nginx
- name: pool-4
  cpus: 4
  memoryMB: 8192
  replicas: 5
  osImageType: cos
  bootDiskSizeGB: 40

Soluciona problemas

  • En general, el comando gkectl update cluster proporciona información específica cuando falla. Si el comando se ejecutó de forma correcta y no ves los nodos, puedes solucionar el problema con la guía Diagnostica problemas de clústeres.

  • Es posible que haya recursos de clúster insuficientes, como la falta de direcciones IP disponibles durante la creación o actualización del grupo de nodos. Consulta el tema Cambia el tamaño de un clúster de usuario para obtener detalles sobre cómo verificar que las direcciones IP estén disponibles.

  • También puedes consultar la guía general de Solución de problemas.

  • No pasará de Creating node MachineDeployment(s) in user cluster….

    La creación o la actualización de los grupos de nodos en el clúster de usuario puede tomar un tiempo. Sin embargo, si el tiempo de espera es demasiado largo y sospechas que algo falló, puedes ejecutar los siguientes comandos:

    1. Ejecuta kubectl get nodes para obtener el estado de los nodos.
    2. Si deseas obtener un nodo que no esté listo, ejecuta kubectl describe node NODE_NAME para obtener más detalles.