Cambiar automáticamente el tamaño de los nodos

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

Si el cambio de tamaño automático de los nodos está habilitado para un clúster de administrador, se cambia el tamaño de los nodos de complemento del clúster de administrador según la cantidad total de nodos del clúster de administrador. Para cada clúster de usuario, hay uno o más nodos del plano de control en el clúster de administrador. Por lo tanto, a medida que crees más clústeres de usuario, la cantidad total de nodos en el clúster de administrador aumentará y el tamaño de los nodos de complemento en el clúster de administrador aumentará de forma automática.

Si se habilita el cambio de tamaño automático de los nodos para un clúster de usuario, se cambia el tamaño de los nodos del plano de control para el clúster de usuario según la cantidad de nodos del clúster de usuario. Por lo tanto, a medida que agregas más nodos trabajadores al clúster de usuario, los nodos del plano de control aumentan de tamaño. Recuerda que los nodos del plano de control para el clúster de usuario están en el clúster de administrador.

Un clúster de usuario con alta disponibilidad (HA) tiene tres nodos del plano de control en el clúster de administrador y un clúster de usuario sin alta disponibilidad tiene un nodo del plano de control en el clúster de administrador. Cambiar el tamaño de un nodo requiere que el nodo se vuelva a crear. Por lo tanto, cuando se cambia el tamaño del nodo del plano de control para un clúster de usuario sin alta disponibilidad, puede haber una pequeña cantidad de tiempo de inactividad.

En los clústeres avanzados, el cambio de tamaño automático de nodos es compatible con la versión 1.33 y posteriores de Google Distributed Cloud, pero no con las versiones 1.31 y 1.32.

Habilita el cambio de tamaño de los nodos para los nodos de complemento de un clúster de administrador

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

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

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

kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG'

Reemplaza ADMIN_CLUSTER_KUBECONFIG por la ruta de acceso del archivo kubeconfig del clúster de administrador.

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

En el archivo de configuración del clúster de administrador, configura addonNode.autoResize.enabled como true:

addonNode:
  autoResize:
    enabled: true

Para un clúster de administrador nuevo, completa las instrucciones de Crea un clúster de administrador.

Para un clúster de administrador existente:

gkectl update admin --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Reemplaza lo siguiente:

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

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

Habilita el cambio de tamaño de los nodos para los nodos del plano de control de un clúster de usuario

En el archivo de configuración del clúster de usuario, configura masterNode.autoResize.enabled como true:

masterNode:
  autoResize:
    enabled: true

Para un clúster de usuario nuevo, completa las instrucciones de Crea un clúster de usuario.

Para un clúster existente:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

Reemplaza lo siguiente:

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

  • USER_CLUSTER_CONFIG: la ruta de acceso del archivo de configuración del clúster de usuario.

Después de habilitar el cambio de tamaño automático de los nodos para un clúster de usuario, se rechaza cualquier intento de cambiar la CPU o la memoria de un nodo del plano de control mediante gkectl update. Si deseas usar gkectl update para cambiar la CPU o la memoria de un nodo del plano de control del clúster de usuario, debes inhabilitar el cambio de tamaño automático de los nodos.

Inhabilita el cambio de tamaño de los nodos para los nodos de complemento de un clúster de administrador

En el archivo de configuración del clúster de administrador, configura addonNode.autoResize.enabled como false:

addonNode:
  autoResize:
    enabled: false

Actualiza el clúster:

gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG

Inhabilita el cambio de tamaño de los nodos para los nodos del plano de control de un clúster de usuario

En el archivo de configuración del clúster de usuario, configura masterNode.autoResize.enabled como false:

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 para un clúster de usuario, la CPU y la memoria de los nodos del plano de control se concilian para que coincidan con los valores de CPU y de memoria especificados en el archivo de configuración del clúster de usuario.

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 brindar visibilidad de las decisiones y las acciones relacionadas con el cambio de tamaño.

Para encontrar los nombres de las 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