Reparar nodos automáticamente

En esta página se explica cómo funciona la reparación automática de nodos y cómo usar la función en clústeres estándar de Google Kubernetes Engine (GKE).

La reparación automática de nodos te permite mantener los nodos de tu clúster de GKE en perfecto funcionamiento. Cuando está habilitada, GKE comprueba periódicamente el estado de cada uno de los nodos del clúster. Si un nodo no supera sucesivas comprobaciones del estado durante un periodo prolongado, GKE inicia el proceso de reparación.

Ajustes de Autopilot y Standard

Los clústeres de Autopilot siempre reparan los nodos automáticamente. No puedes inhabilitar este ajuste.

En los clústeres estándar, la reparación automática de nodos está habilitada de forma predeterminada en los grupos de nodos nuevos. Puedes inhabilitar la reparación automática de un grupo de nodos, pero te recomendamos que mantengas la configuración predeterminada.

Criterios de reparación

GKE usa el estado de salud del nodo para determinar si es necesario repararlo. Se considera que un nodo que informa del estado Ready está en buen estado. GKE activa una acción de reparación si un nodo envía informes de estado incorrecto consecutivos durante un umbral de tiempo determinado. Un mal estado puede significar varias cosas:

  • Un nodo informa del estado NotReady en comprobaciones consecutivas durante el umbral de tiempo determinado (aproximadamente 10 minutos).
  • Un nodo no informa de ningún estado durante el umbral de tiempo determinado (aproximadamente 10 minutos).
  • El disco de arranque de un nodo se queda sin espacio durante un periodo prolongado (aproximadamente 30 minutos).
  • Un nodo de un clúster de Autopilot se acordonó durante más tiempo que el umbral de tiempo indicado (aproximadamente 10 minutos).

Puedes comprobar manualmente las señales de estado de tu nodo en cualquier momento con el comando kubectl get nodes.

Proceso de reparación de nodos

Si GKE detecta que un nodo necesita una reparación, se vacía y se vuelve a crear. Este proceso conserva el nombre original del nodo. GKE espera una hora a que se complete el drenaje. Si el drenaje no se completa, el nodo se cierra y se crea uno nuevo.

Si es necesario reparar varios nodos, GKE puede hacerlo en paralelo. GKE equilibra el número de reparaciones en función del tamaño del clúster y del número 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 el número de nodos incorrectos.

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 se esté reparando.

Historial de reparaciones de nodos

GKE genera una entrada de registro para los eventos de reparación automatizada. Puedes consultar los registros ejecutando el siguiente comando:

gcloud container operations list

Reparación automática de nodos en nodos de segmento de TPU

Si un nodo de una slice de TPU multihost no está en buen estado y requiere una reparación automática, se vuelve a crear todo el grupo de nodos. Para obtener más información sobre las condiciones de los nodos de las slices de TPU, consulta Reparación automática de nodos de slices de TPU.

Habilitar la reparación automática en un grupo de nodos Standard

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

Si la reparación automática está inhabilitada en un grupo de nodos de un clúster Standard, sigue estas instrucciones para habilitarla:

Consola

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

    Ir a Google Kubernetes Engine

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

  3. Haz clic en la pestaña Nodos.

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

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

  6. En Gestión, marca la casilla Habilitar reparación automática.

  7. Haz clic en Guardar.

gcloud

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-autorepair

Haz los cambios siguientes:

  • POOL_NAME: el nombre de tu grupo de nodos.
  • CLUSTER_NAME: el nombre de tu clúster Standard.
  • CONTROL_PLANE_LOCATION: la ubicación de Compute Engine del plano de control de tu clúster. Proporciona una región para los clústeres regionales o una zona para los clústeres zonales.

Verificar que la reparación automática de nodos esté habilitada en un grupo de nodos Estándar

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

Consola

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

    Ir a Google Kubernetes Engine

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

  3. Haz clic en la pestaña Nodos.

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

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

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 incluye estas líneas:

management:
  ...
  autoRepair: true

Inhabilitar la reparación automática de nodos

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

Consola

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

    Ir a Google Kubernetes Engine

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

  3. Haz clic en la pestaña Nodos.

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

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

  6. En Gestión, desmarca la casilla Habilitar reparación automática.

  7. Haz clic en Guardar.

gcloud

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --no-enable-autorepair

Haz los cambios siguientes:

  • POOL_NAME: el nombre de tu grupo de nodos.
  • CLUSTER_NAME: el nombre de tu clúster Standard.
  • CONTROL_PLANE_LOCATION: la ubicación de Compute Engine del plano de control de tu clúster. Proporciona una región para los clústeres regionales o una zona para los clústeres zonales.

Siguientes pasos