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.

Habilita 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 true:

addonNode:
  autoResize:
    enabled: true

Para un clúster de administrador nuevo, completa las instrucciones de Crea un clúster de administrador (guía de inicio rápido) o 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 (guía de inicio rápido) o 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