Cuando creas un clúster de usuario, debes configurar al menos un grupo de nodos, que es un grupo de nodos que tienen la misma configuración. Después de crear el clúster, puedes agregar nuevos grupos de nodos, actualizar la configuración de los grupos de nodos y borrarlos.
La forma en que creas, actualizas y borras grupos de nodos depende de si la API de Anthos On-Prem administra el clúster. La API de Anthos On-Prem administra un clúster de usuario si se cumple una de las siguientes condiciones:
El clúster se creó en la consola de Google Cloud, que configura de forma automática la API de Anthos On-Prem para administrar el clúster.
El comando
gkectl enroll cluster
se ejecutó en un clúster de usuario, que lo configura para que lo administre la API de Anthos On-Prem.
Si la API de Anthos On-Prem administra un clúster de usuario, puedes usar la consola de Google Cloud para administrar los grupos de nodos. Si la API de Anthos On-Prem no administra el clúster de usuario, usa gkectl
en la línea de comandos de la estación de trabajo de administrador para administrar los grupos de nodos.
Agregue un grupo de nodos
Si creaste el clúster en la consola de Google Cloud, puedes usarla para agregar un grupo de nodos. Sin embargo, debes usar la línea de comandos para establecer la siguiente configuración del grupo de nodos:
- Windows para el tipo de imagen de SO
- Almacén de datos de vSphere
Etiquetas de vSphere 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)
Antes de agregar otro grupo de nodos, verifica que haya suficientes direcciones IP disponibles en el clúster.
Consola
En la consola de Google Cloud, ve a la página Clústeres de Anthos.
Selecciona el proyecto de Cloud en el que se encuentra el clúster de usuario.
En la lista de clústeres, haz clic en el nombre del clúster y, luego, en Ver detalles en el panel Detalles.
Haz clic en
Agregar grupo de nodos.Configura el grupo de nodos:
- Ingresa el nombre del grupo de nodos.
- Es la cantidad de CPU virtuales para cada nodo del grupo (mínimo 4 por trabajador del clúster de usuario).
- Ingresa el tamaño de memoria en mebibytes (MiB) para cada nodo en el grupo (mínimo 8,192 MiB por nodo trabajador del clúster de usuario y debe ser un múltiplo de 4).
- En el campo Nodos, ingresa la cantidad de nodos en el grupo (mínimo 3).
Selecciona el Tipo de imagen de SO: Ubuntu Containerd, Ubuntu o COS.
Ingresa laTamaño de disco de arranque en gibibytes (GiB) (el valor predeterminado es de 40 GiB).
En la sección Metadatos del grupo de nodos (opcional), si deseas agregar etiquetas y taints de Kubernetes, haz lo siguiente:
- Haz clic en + Add Kubernetes Labels. Ingresa la Clave y el Valor de la etiqueta. Repite la acción según sea necesario.
- Haz clic en + Agregar taint. Ingresa la Clave, el Valor y el Efecto para el taint. Repite la acción según sea necesario.
Haz clic en Crear.
La consola de Google Cloud muestra el Estado del clúster: cambios en progreso. Haz clic en Mostrar detalles para ver la condición de estado del recurso y los mensajes de estado.
Línea de comandos
En el archivo de configuración del clúster de usuario, completa la sección
nodePools
.Debes especificar los siguientes campos:
nodePools.[i].name
nodePools[i].cpus
nodePools.[i].memoryMB
nodePools.[i].replicas
Los siguientes campos son opcionales: Si no incluyes
nodePools[i].bootDiskSizeGB
onodePools[i].osImageType
, se usan los valores predeterminados.nodePools[i].labels
nodePools[i].taints
nodePools[i].bootDiskSizeGB
nodePools[i].osImageType
nodePools[i].vsphere.datastore
nodePools[i].vsphere.tags
Ejecuta el siguiente comando:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Reemplaza lo siguiente:
[ADMIN_CLUSTER_KUBECONFIG]
es la ruta de acceso del archivo kubeconfig del clúster de administrador.[USER_CLUSTER_CONFIG]
por la ruta de acceso del archivo de configuración del clúster de usuario.
Configuración de ejemplo
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
: Incluyevsphere.datastore
yvsphere.tags
.pool-3
: Incluyetaints
ylabels
.pool-4
: IncluyeosImageType
ybootDiskSizeGB
.
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
Actualizar un grupo de nodos
Puedes usar la línea de comandos para actualizar todos los campos de la sección nodePools
del archivo de configuración de tu clúster de usuario. En la actualidad, los únicos campos de grupo de nodos que puedes actualizar mediante la consola de Google Cloud son los siguientes:
- Cantidad de réplicas
- Memoria
- Cantidad de CPU virtuales
Cuando aumentas la cantidad de réplicas, los clústeres de Anthos alojados en VMware agregan la cantidad necesaria de nodos al clúster de usuario y, cuando disminuyes la cantidad de réplicas, se quitan los nodos. Cambiar la cantidad de réplicas para un grupo de nodos no interrumpe las cargas de trabajo. Asegúrate de tener direcciones IP disponibles si aumentas la cantidad de réplicas.
Si actualizas cualquier otro campo del grupo de nodos, se activa una actualización progresiva en el clúster. En una actualización progresiva, los clústeres de Anthos alojados en VMware crean un nodo nuevo y, luego, borran un nodo anterior. Este proceso se repite hasta que todos los nodos antiguos se hayan reemplazado por nodos nuevos. Este proceso no genera tiempo de inactividad, pero el clúster debe tener una dirección IP adicional disponible para usar durante la actualización.
Supongamos que un grupo de nodos tendrá N nodos al final de una actualización. Luego, debes tener al menos N + 1 direcciones IP disponibles para los nodos de ese grupo. Esto significa que, si cambias el tamaño de un clúster cuando agregas nodos a uno o más grupos, debes tener al menos una dirección IP más que la cantidad total de nodos que estarán en todos los grupos de nodos de clústeres al final del cambio de tamaño. Para obtener más información, consulta Verifica que haya suficientes direcciones IP disponibles.
Para actualizar un grupo de nodos en un clúster de usuario, haz lo siguiente:
Consola
En la consola de Google Cloud, ve a la página Clústeres de Anthos.
Selecciona el proyecto de Cloud en el que se encuentra el clúster de usuario.
En la lista de clústeres, haz clic en el nombre del clúster y, luego, en Ver detalles en el panel Detalles.
Haz clic en la pestaña Nodos.
Haz clic en el nombre del grupo de nodos que deseas modificar.
Haz clic en
Editar junto al campo que deseas modificar y, luego, en Listo.Haz clic en
para volver a la página anterior.En la consola de Google Cloud, se muestra el Estado del clúster: cambios en progreso. Haz clic en Mostrar detalles para ver la condición de estado del recurso y los mensajes de estado.
Línea de comandos
Modifica los valores de los campos que deseas cambiar en la sección
nodePools
del archivo de configuración del clúster de usuario.Actualiza el clúster:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Reemplaza lo siguiente:
[ADMIN_CLUSTER_KUBECONFIG]
es la ruta de acceso del archivo kubeconfig del clúster de administrador.[USER_CLUSTER_CONFIG]
por la ruta de acceso del archivo de configuración del clúster de usuario.
Actualiza la osImageType
que usa un grupo de nodos
Si deseas actualizar un grupo de nodos para usar un osImageType
diferente, debes usar la línea de comandos. Para cambiar el osImageType
que usa un grupo de nodos, actualiza el archivo de configuración del grupo de nodos, como se muestra en el siguiente ejemplo, y ejecuta gkectl update cluster
.
nodePools: - name: np-1 cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd
Verifica tus cambios
Para verificar que tus grupos de nodos se hayan creado o actualizado según lo previsto, inspecciona los nodos del clúster:
Consola
En la consola de Google Cloud, ve a la página Clústeres de Anthos.
Selecciona el proyecto de Cloud en el que se encuentra el clúster de usuario.
En la lista de clústeres, haz clic en el nombre del clúster y, luego, en Ver detalles en el panel Detalles.
Haz clic en la pestaña Nodos.
Haz clic en el nombre del grupo de nodos que deseas ver.
Línea de comandos
Ejecuta el siguiente comando:
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
.
Borrar un grupo de nodos
Aunque puedes borrar grupos de nodos, tu clúster de usuarios debe tener al menos un grupo de nodos. Si borras un grupo de nodos hará que se quiten los nodos del grupo de inmediato, sin importar si estos ejecutan cargas de trabajo.
Para borrar un grupo de nodos de un clúster de usuario, haz lo siguiente:
Consola
Asegúrate de que no haya cargas de trabajo en ejecución en los nodos afectados.
En la consola de Google Cloud, ve a la página Clústeres de Anthos.
Selecciona el proyecto de Cloud en el que se encuentra el clúster de usuario.
En la lista de clústeres, haz clic en el nombre del clúster y, luego, en Ver detalles en el panel Detalles.
Haz clic en la pestaña Nodos.
Haz clic en el nombre del grupo de nodos que deseas borrar.
Haz clic en
Borrar.Haz clic en
para volver a la página anterior.En la consola de Google Cloud, se muestra el Estado del clúster: cambios en progreso. Haz clic en Mostrar detalles para ver la condición de estado del recurso y los mensajes de estado.
Línea de comandos
Asegúrate de que no haya cargas de trabajo en ejecución en los nodos afectados.
Quita su definición de la sección
nodePools
del archivo de configuración del clúster de usuario.Actualiza el clúster:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Reemplaza lo siguiente:
[ADMIN_CLUSTER_KUBECONFIG]
es la ruta de acceso del archivo kubeconfig del clúster de administrador.[USER_CLUSTER_CONFIG]
por la ruta de acceso del archivo de configuración del clúster de usuario.
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:
- Ejecuta
kubectl get nodes
para obtener el estado de los nodos. - Si deseas obtener un nodo que no esté listo, ejecuta
kubectl describe node NODE_NAME
para obtener más detalles.
- Ejecuta