Modificar el tamaño de un clúster de usuarios

Modificar el tamaño de un clúster de usuarios significa añadir o quitar nodos. Para añadir nodos, es necesario que haya direcciones IP disponibles para los nuevos nodos. Para cambiar el tamaño de un clúster de usuario, modifica el número de réplicas del grupo de nodos.

Para obtener información sobre los límites máximos y mínimos de los clústeres de usuarios, consulta Límites de escalabilidad.

Para obtener información sobre cómo gestionar grupos de nodos, consulta el artículo sobre crear y gestionar grupos de nodos.

Verificar que haya suficientes direcciones IP disponibles

Si quieres tener N nodos después de cambiar el tamaño, debes tener disponibles N + 1 direcciones IP.

Antes de cambiar el tamaño de un clúster, comprueba que tienes suficientes direcciones IP. La forma de realizar la verificación depende de si el clúster usa un servidor DHCP o direcciones IP estáticas.

DHCP

Si el clúster usa DHCP, comprueba que el servidor DHCP pueda proporcionar suficientes direcciones IP. Debe poder proporcionar al menos una dirección IP más que el número de nodos que tendrá el clúster después de cambiar el tamaño.

IP estáticas

La forma de verificar que tienes suficientes direcciones IP estáticas depende de si el clúster está registrado en la API de GKE On-Prem. Un clúster de usuario se registra en la API de GKE On-Prem si se cumple alguna de las siguientes condiciones:

  • El clúster se creó mediante la Google Cloud consola, la CLI de Google Cloud (gcloud CLI) o Terraform, lo que registra automáticamente el clúster en la API de GKE On-Prem. En conjunto, estas aplicaciones estándar se denominan clientes de la API de GKE On-Prem.

  • El comando gkectl enroll cluster se ha ejecutado en un clúster de usuario, lo que configura el clúster para que lo gestione la API de GKE On-Prem.

Si la API GKE On-Prem gestiona un clúster de usuario, usa la consola para contar el número de IPs y añadir más si es necesario. Si el clúster de usuario no está gestionado por la API de GKE On-Prem, puedes ejecutar gkectl update cluster primero, que verifica si has asignado suficientes direcciones IP al clúster. Si no es así, puedes consultar el número de direcciones IP adicionales que necesitas en el mensaje de error.

Añadir IPs estáticas

Si el clúster está gestionado por la API GKE On-Prem, usa la consola para añadir más direcciones IP. Si no, usa la línea de comandos de tu estación de trabajo de administrador.

Consola

  1. En la consola, ve a la página Descripción general de los clústeres de Google Kubernetes Engine.

    Ir a clústeres de GKE

  2. Selecciona el proyecto en el que se encuentra el clúster de usuario. Google Cloud

  3. En la lista de clústeres, haga clic en el nombre del clúster y, a continuación, en Más detalles en el panel Detalles.

  4. En la sección Redes, haz clic en Editar.

  5. En el cuadro de diálogo Añadir direcciones IP estáticas adicionales, haz clic en Añadir dirección IP. Introduce la dirección IP y, opcionalmente, un nombre de host. Repite el proceso tantas veces como sea necesario. Cuando hayas terminado, haz clic en Hecho.

Línea de comandos

  1. Abre el archivo de bloque de IPs del clúster de usuarios para editarlo.

  2. Verifica que todas las direcciones IP que vas a usar para el clúster de usuario estén incluidas en el archivo de bloque de IPs. El archivo de bloque de IPs debe tener al menos una dirección IP más que el número de nodos que habrá en el clúster después de cambiar el tamaño.

  3. Para ver las direcciones reservadas para un clúster de usuarios, sigue estos pasos:

    kubectl get cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --namespace USER_CLUSTER_NAME USER_CLUSTER_NAME --output yaml

    Haz los cambios siguientes:

    • ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador
    • USER_CLUSTER_NAME: el nombre del clúster de usuarios
  4. Añade al bloque correspondiente todas las direcciones IP estáticas adicionales que necesites y, a continuación, ejecuta gkectl update cluster.

A continuación, se muestra un ejemplo de un archivo de bloque de IP que tiene cuatro direcciones IP y los nombres de host correspondientes:

hostconfig:
dns: 172.16.255.1
tod: 216.239.35.0
blocks:
- netmask: 255.255.248.0
  gateway: 21.0.135.254
  ips:
  - ip: 21.0.133.41
    hostname: user-node-1
  - ip: 21.0.133.50
    hostname: user-node-2
  - ip: 21.0.133.56
    hostname: user-node-3
  - ip: 21.0.133.47
    hostname: user-node-4

Cambiar el tamaño del clúster

Consola

  1. En la consola, ve a la página Descripción general de los clústeres de Google Kubernetes Engine.

    Ir a clústeres de GKE

  2. Selecciona el proyecto en el que se encuentra el clúster de usuario. Google Cloud

  3. En la lista de clústeres, haga clic en el nombre del clúster y, a continuación, en Más detalles en el panel Detalles.

  4. Haz clic en la pestaña Nodos.

  5. Haz clic en el nombre del grupo de nodos cuyo tamaño quieras cambiar.

  6. Haz clic en Cambiar tamaño.

  7. En el campo Nodos, introduce el número de nodos que quieras que tenga el grupo de nodos y, a continuación, haz clic en Hecho.

  8. Haz clic en para volver a la página anterior.

  9. La consola muestra el mensaje Estado del clúster: cambios en curso. Haga clic en Mostrar detalles para ver la condición del estado del recurso y los mensajes de estado.

Línea de comandos

En el archivo de configuración del clúster de usuarios, actualiza el valor del campo replicas en uno o varios de los elementos nodePools.

Cambia el tamaño del clúster:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Haz los cambios siguientes:

  • ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador

  • USER_CLUSTER_CONFIG: la ruta del archivo de configuración del clúster de usuarios

Verifica que el cambio de tamaño se haya realizado correctamente:

  • Si el clúster avanzado no está habilitado:

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes
    
    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG describe machinedeployments NODE_POOL_NAME | grep Replicas
  • Si la opción Clúster avanzado está habilitada

    kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes
    
    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe nodepoolclaim -n USER_CLUSTER_NAMESPACE NODE_POOL_NAME | grep "Node Count"

Haz los cambios siguientes:

  • ADMIN_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de administrador

  • USER_CLUSTER_KUBECONFIG: la ruta del archivo kubeconfig del clúster de usuarios

  • NODE_POOL_NAME: el nombre del grupo de nodos cuyo tamaño has cambiado.

  • USER_CLUSTER_NAMESPACE: el espacio de nombres del clúster de usuarios cuyo tamaño has cambiado.

Solución de problemas

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