Cambio automático del tamaño de los nodos

En Google Distributed Cloud, puedes habilitar el cambio de tamaño automático de los nodos de un clúster. Cambiar el tamaño significa que se ajustan los recursos de CPU y memoria asignados a un nodo.

Si el cambio de tamaño automático de los nodos está habilitado en un clúster de administrador, los nodos del complemento del clúster de administrador se redimensionan en función del número total de nodos del clúster de administrador. En cada clúster de usuarios, hay uno o varios nodos de plano de control en el clúster de administradores. Por lo tanto, a medida que creas más clústeres de usuarios, aumenta el número total de nodos del clúster de administrador y el tamaño de los nodos complementarios del clúster de administrador se incrementa automáticamente.

Si la función de cambio de tamaño automático de los nodos está habilitada en un clúster de usuarios, los nodos de plano de control de ese clúster se redimensionan en función del número de nodos del clúster de usuarios. Por lo tanto, a medida que añadas más nodos de trabajo al clúster de usuarios, aumentará el tamaño de los nodos del plano de control. Recuerda que los nodos del plano de control del clúster de usuarios se encuentran en el clúster de administrador.

Un clúster de usuarios de alta disponibilidad (HA) tiene tres nodos de plano de control en el clúster de administrador, mientras que un clúster de usuarios que no es de alta disponibilidad tiene un nodo de plano de control en el clúster de administrador. Para cambiar el tamaño de un nodo, es necesario volver a crearlo. Por lo tanto, cuando se cambia el tamaño del nodo de plano de control de un clúster de usuarios que no es de alta disponibilidad, puede haber un pequeño tiempo de inactividad.

En los clústeres avanzados, la función de cambio de tamaño automático de los nodos está disponible en Google Distributed Cloud 1.33 y versiones posteriores, pero no en las versiones 1.31 y 1.32.

Habilitar el cambio de tamaño de los nodos del complemento de un clúster de administrador

Sigue los pasos de esta sección solo si tu clúster de administrador tiene nodos complementarios. Si un clúster de administrador tiene nodos de complemento depende de la configuración y la versión específicas, tal como se indica a continuación:

  • Clústeres de administrador sin alta disponibilidad: los clústeres de administrador sin alta disponibilidad tienen un nodo de plano de control y dos nodos de complemento.
  • Clusters de administrador de alta disponibilidad:
    • Versión 1.16 y anteriores: los clústeres de administrador de alta disponibilidad tienen tres nodos de plano de control y dos nodos de complemento.
    • Versión 1.28 y posteriores: los clústeres de administradores de alta disponibilidad no tienen nodos complementarios. Los tres nodos son nodos del plano de control.

Para determinar si tu clúster tiene nodos complementarios, ejecuta el siguiente comando:

kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG'

Sustituye ADMIN_CLUSTER_KUBECONFIG por la ruta del archivo kubeconfig de tu clúster de administrador.

Si tu clúster tiene nodos de complementos, habilita el cambio de tamaño de los nodos de complementos de la siguiente manera:

En el archivo de configuración del clúster de administrador, asigna el valor true a addonNode.autoResize.enabled:

addonNode:
  autoResize:
    enabled: true

Para crear un clúster de administrador, sigue las instrucciones que se indican en Crear un clúster de administrador.

En un clúster de administrador ya creado:

gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Haz los cambios siguientes:

  • ADMIN_CLUSTER_CONFIG: la ruta del archivo de configuración del clúster de administrador

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

Habilitar el cambio de tamaño de los nodos de plano de control de un clúster de usuarios

En el archivo de configuración del clúster de usuarios, asigna el valor true a masterNode.autoResize.enabled:

masterNode:
  autoResize:
    enabled: true

Para crear un clúster de usuarios, sigue las instrucciones de Crear un clúster de usuarios.

En un clúster ya creado:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Haz los cambios siguientes:

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

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

Una vez que se ha habilitado el cambio de tamaño automático de los nodos en un clúster de usuarios, se rechaza cualquier intento de cambiar la CPU o la memoria de un nodo de plano de control ejecutando gkectl update. Si quieres usar gkectl update para cambiar la CPU o la memoria de un nodo del plano de control de un clúster de usuario, debes inhabilitar el cambio de tamaño automático de los nodos.

Inhabilitar el cambio de tamaño de los nodos de los complementos de un clúster de administrador

En el archivo de configuración del clúster de administrador, asigna el valor false a addonNode.autoResize.enabled:

addonNode:
  autoResize:
    enabled: false

Actualiza el clúster:

gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG

Inhabilitar el cambio de tamaño de los nodos de plano de control de un clúster de usuarios

En el archivo de configuración del clúster de usuarios, asigna el valor false a masterNode.autoResize.enabled:

masterNode:
  autoResize:
    enabled: false

Actualiza el clúster:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Cuando inhabilitas el cambio de tamaño automático de los nodos de un clúster de usuarios, la CPU y la memoria de los nodos de plano de control se ajustan para que coincidan con los valores de CPU y memoria especificados en el archivo de configuración del clúster de usuarios.

Registros y eventos

Para encontrar el nombre del Pod de cambio de tamaño automático, haz lo siguiente:

kubectl --kubeconfig ADMIN_KUBECONFIG describe deployment auto-resize-controller

El nombre del pod tiene el formato auto-resize-controller-xxxxx.

Para ver los registros del pod de cambio de tamaño automático, haz lo siguiente:

kubectl --kubeconfig ADMIN_KUBECONFIG logs AUTO_RESIZE_POD_NAME

El controlador de cambio de tamaño automático genera eventos en los objetos MachineDeployment para proporcionar visibilidad sobre las decisiones y las acciones relevantes para el cambio de tamaño.

Para encontrar los nombres de los MachineDeployments, haz lo siguiente:

kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get machinedeployments --all-namespaces

Para ver los eventos, sigue estos pasos:

kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe machinedeployment USER_CONTROL_PLANE_NODE_MACHINE_DEPLOYMENT
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG describe machinedeployment ADMIN_ADDON_NODE_MACHINE_DEPLOYMENT