Reparación automática de nodos


En esta página, se proporciona información sobre la reparación automática de nodos en clústeres de Google Kubernetes Engine (GKE).

Descripción general

La reparación automática de nodos ayuda a mantener los nodos en tu clúster de GKE en buen estado y en ejecución. Cuando está habilitada, GKE realiza controles periódicos al estado de cada nodo en el clúster. Si un nodo falla en varias verificaciones de estado consecutivas durante un período prolongado, GKE inicia un proceso de reparación para ese nodo.

Configuración para Autopilot y Standard

Los clústeres de Autopilot siempre reparan nodos de forma automática. No se puede inhabilitar esta configuración.

En los clústeres de Standard, la reparación automática de nodos está habilitada de forma predeterminada para los grupos de nodos nuevos. Puedes inhabilitar la reparación automática para un grupo de nodos existente; sin embargo, recomendamos mantener la configuración predeterminada.

Criterios de reparación

GKE usa el estado del nodo para determinar si un nodo necesita reparación. Un nodo que informa un estado Ready se considera en buen estado. GKE activa una acción de reparación si un nodo presenta informes de mal estado consecutivos durante un determinado límite de tiempo. El mal estado puede indicar lo siguiente:

  • Un nodo informa un estado NotReady en verificaciones consecutivas durante el límite de tiempo determinado (alrededor de 10 minutos).
  • Un nodo no informa sobre ningún estado durante el límite de tiempo determinado (alrededor de 10 minutos).
  • El disco de arranque de un nodo se quedó sin espacio en el disco durante un período prolongado (alrededor de 30 minutos).

Puedes verificar las señales de estado de tu nodo de forma manual en cualquier momento con el comando kubectl get nodes.

Proceso de reparación de nodos

Si GKE detecta que un nodo necesita reparación, se desvía el nodo y se lo vuelve a crear. GKE espera una hora para que se complete el desvío. Si el desvío no se completa, se cierra el nodo y se crea uno nuevo.

Si varios nodos requieren reparación, GKE podría repararlos en paralelo. GKE balancea la cantidad de reparaciones según el tamaño del clúster y la cantidad de nodos dañados. GKE reparará más nodos en paralelo en un clúster más grande, pero menos nodos a medida que aumente la cantidad de nodos en mal estado.

Si inhabilitas la reparación automática de nodos en cualquier momento durante el proceso de reparación, las reparaciones en curso no se cancelarán y continuarán para cualquier nodo que esté en reparación.

Historial de reparación de nodos

GKE genera una entrada de registro para eventos de reparación automática. Puedes verificar los registros si ejecutas el siguiente comando:

gcloud container operations list

Reparación automática de nodos en nodos TPU

Si usas un grupo de nodos de porción de TPU de varios hosts, que es un grupo de nodos que contiene dos o más VMs de TPU interconectadas, los criterios de reparación automática de nodos son diferentes. Si un nodo TPU en un grupo de nodos de porción de TPU de varios hosts está en mal estado y requiere reparación automática, se vuelve a crear todo el grupo de nodos. Para obtener más información sobre las condiciones del nodo TPU, consulta Reparación automática de nodos TPU.

Habilita la reparación automática para un grupo de nodos Standard existente

La reparación automática se habilita por grupo de nodos.

Si la reparación automática está inhabilitada en un grupo de nodos existente en un clúster estándar, usa las siguientes instrucciones para habilitarlo:

gcloud

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --enable-autorepair

Reemplaza lo siguiente:

  • POOL_NAME: es el nombre de tu grupo de nodos.
  • CLUSTER_NAME: es el nombre de tu clúster estándar.
  • COMPUTE_REGION: es la región de Compute Engine del clúster. Para los clústeres zonales, usa la opción --zone COMPUTE_ZONE.

Console

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. En la lista de clústeres, haz clic en el nombre del clúster que deseas modificar.

  3. Haz clic en la pestaña Nodos.

  4. En Grupos de nodos, haz clic en el nombre del grupo de nodos que deseas modificar.

  5. En la página Detalles del grupo de nodos, haz clic en Editar.

  6. En Administración, selecciona la casilla de verificación Habilitar reparación automática.

  7. Haz clic en Guardar.

Verifica que la reparación automática de nodos esté habilitada para un grupo de nodos Standard

La reparación automática de nodos se habilita por grupo de nodos. Puedes verificar que un grupo de nodos de tu clúster tenga habilitada la reparación automática de nodos con Google Cloud CLI o la consola de Google Cloud.

gcloud

Describe el grupo de nodos:

gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME

Si la reparación automática de nodos está habilitada, el resultado del comando incluirá las siguientes líneas:

management:
  ...
  autoRepair: true

Consola

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. En la página de Google Kubernetes Engine, haz clic en el nombre del clúster del grupo de nodos que deseas inspeccionar.

  3. Haz clic en la pestaña Nodos.

  4. En Grupos de nodos, haz clic en el nombre del grupo de nodos que deseas inspeccionar.

  5. En Administración, en el campo Reparación automática, verifica que la reparación automática esté habilitada.

Inhabilita la reparación automática de nodos

Puedes inhabilitar la reparación automática de nodos para un grupo de nodos existente en un clúster estándar con la CLI de gcloud o Google Cloud Console.

gcloud

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --no-enable-autorepair

Reemplaza lo siguiente:

  • POOL_NAME: es el nombre de tu grupo de nodos.
  • CLUSTER_NAME: es el nombre de tu clúster estándar.
  • COMPUTE_REGION: es la región de Compute Engine del clúster. Para los clústeres zonales, usa la opción --zone COMPUTE_ZONE.

Console

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. En la lista de clústeres, haz clic en el nombre del clúster que deseas modificar.

  3. Haz clic en la pestaña Nodos.

  4. En Grupos de nodos, haz clic en el nombre del grupo de nodos que deseas modificar.

  5. En la página Detalles del grupo de nodos, haz clic en Editar.

  6. En Administración, desmarca la casilla de verificación Habilitar reparación automática.

  7. Haz clic en Guardar.

¿Qué sigue?