Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Enable node auto repair

Última actualización: Sep 12, 2026

ACK monitorea y repara automáticamente los nodos con errores en los node pools administrados, lo que reduce las tareas manuales de operación y mantenimiento. Sin embargo, la reparación automática no resuelve todos los escenarios de fallo. Algunas fallas complejas aún requieren intervención manual.

Para los node pools de LINGJUN, consulte Enable node auto repair .

Funcionamiento

El proceso de reparación automática abarca lo siguiente:

Flujo de ejecución

A continuación se describe el flujo de trabajo, desde la detección del fallo y la notificación hasta la reparación automática:

image
  1. Diagnóstico y detección de fallos

El complemento ack-node-problem-detector (NPD) comprueba si existen excepciones en los nodos. Si un nodo permanece con errores durante un periodo determinado, ACK lo identifica como defectuoso.

  1. Notificación de fallos

ACK genera una Node Condition y un evento de Kubernetes. Configure alertas en el Event Center para recibir notificaciones.

  1. (Para escenarios de exclusive GPU) Aislamiento de fallos

Cuando se detecta una excepción de GPU, ACK aísla la tarjeta GPU defectuosa.

Consulte GPU exception detection and automatic isolation.
  1. Reparación automática de excepciones del sistema y de componentes de Kubernetes

ACK determina si inicia una tarea de reparación según la condition del nodo y otra información. Ejecute kubectl describe node para comprobar el campo condition.

Cuando una excepción del sistema o de un componente de Kubernetes persiste más allá del umbral configurado, ACK ejecuta una tarea de reparación:

  1. ACK repara el sistema y los componentes de Kubernetes defectuosos; por ejemplo, reinicia kubelet o el entorno de ejecución de contenedores.

  2. Si selecciona Enable self-healing for system and node components only (node reboots allowed), ACK realiza estos pasos adicionales cuando las reparaciones iniciales fallan:

    1. ACK establece automáticamente el nodo defectuoso como no programable.

    2. ACK drena el nodo. El tiempo de espera del drenado es de 10 minutos o el valor máximo de TerminationGracePeriodSeconds de todos los pods que se deben desalojar, el que sea mayor, hasta un límite de 30 minutos.

      ACK desaloja los pods hacia otros nodos conforme al Pod Disruption Budget (PDB). Para garantizar alta disponibilidad, utilice despliegues con varias réplicas, distribuya las cargas de trabajo entre distintos nodos y configure PDB para los servicios críticos.

      Si el drenado falla, ACK continúa con la reparación.

    3. ACK reinicia el nodo.

    4. Una vez que el nodo se recupera, ACK lo vuelve a marcar como programable.

      Los nodos que ya eran no programables antes de la reparación automática permanecen en ese estado cuando finaliza el proceso.

En clústeres con varios node pools, la reparación automática se ejecuta en un node pool a la vez.

Condiciones de nodo que activan la reparación automática

Node Condition

Descripción

Nivel de riesgo

Umbral

Acción de reparación

KubeletNotReady(KubeletHung)

kubelet no responde, lo que provoca que el nodo pase al estado NotReady.

Alto

180 s

  1. Reiniciar kubelet.

  2. Si la opción Enable self-healing for system and node components only (node reboots allowed) está habilitada, reiniciar la instancia ECS.

KubeletNotReady(PLEG)

La comprobación de estado del Pod Lifecycle Event Generator (PLEG) falló, lo que hace que el nodo reporte el estado NotReady.

Medio

180 s

  1. Reiniciar containerd o Docker.

  2. Reiniciar kubelet.

  3. Si la opción Enable self-healing for system and node components only (node reboots allowed) está habilitada, reiniciar la instancia ECS.

KubeletNotReady(SandboxError)

No se encuentra el PodSandbox, lo que impide que kubelet inicie correctamente.

Alto

180 s

  1. Eliminar el contenedor sandbox correspondiente.

  2. Reiniciar kubelet.

RuntimeOffline

El entorno de ejecución de contenedores (containerd o Docker) se detuvo, lo que deja al nodo no disponible.

Alto

90 s

  1. Reiniciar containerd o Docker.

  2. Si la opción Enable self-healing for system and node components only (node reboots allowed) está habilitada, reiniciar la instancia ECS.

NTPProblem

El servicio de sincronización de hora (ntpd o chronyd) no funciona correctamente.

Alto

10 s

Reiniciar ntpd o chronyd.

SystemdOffline

Un estado anómalo de systemd impide iniciar o destruir contenedores.

Alto

90 s

Si la opción Enable self-healing for system and node components only (node reboots allowed) está habilitada, reiniciar la instancia ECS.

ReadonlyFilesystem

El sistema de archivos del nodo pasó a modo de solo lectura.

Alto

90 s

Si la opción Enable self-healing for system and node components only (node reboots allowed) está habilitada, reiniciar la instancia ECS.

Estado del nodo durante la reparación automática

  • Durante la reparación, el estado del nodo es Repairing.

  • Si el fallo se resuelve tras la reparación, el nodo vuelve a su estado normal.

  • Si el fallo persiste después de la reparación, el estado del nodo cambia a Recovery failed.

    Un nodo con estado Recovery failed no activa otra reparación automática hasta que se resuelva el fallo.

Notas de uso

  • Esta función requiere el Event Center para las alertas y ack-node-problem-detector (NPD) para detectar excepciones. Consulte Event monitoring.

  • Solo está disponible en clústeres administrados de ACK para node pools administrados.

  • A continuación se listan las funciones que se implementan de forma gradual. Para solicitar acceso, envíe un ticket.

    • Reparación automática de excepciones en instancias de nodo: sujeta a una lista de permitidos.

    • Conjuntos de reglas de alerta: después de habilitar la reparación automática de nodos, habilite la gestión de alertas y active los conjuntos Cluster Node Auto Repair Alert Rule Set y GPU monitoring and alert rules para recibir alertas de excepciones. Estos conjuntos de reglas se liberan de forma gradual.

      Consulte Container Service Alert Management .
    • Versión de NPD: la reparación automática de excepciones en instancias de nodo requiere ack-node-problem-detector (NPD) 1.2.26 o posterior, versión que actualmente se libera de forma gradual.

Habilitar la reparación automática de nodos

Habilite la reparación automática de nodos al crear un node pool o en uno administrado existente.

Nuevo node pool

  1. En la página ACK Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Nodes > Node Pools.

  2. Haga clic en Create Node Pool. En la sección Configure Managed Node Pool, seleccione Managed Node Pool, habilite la reparación automática de nodos, configure la directiva de reinicio de nodos para la reparación de componentes y cree el node pool.

    Para obtener detalles sobre la configuración, consulte Create and manage a node pool. Para conocer las consideraciones sobre el reinicio de nodos, consulte la sección siguiente.

Node pool existente

  1. En la página ACK Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Nodes > Node Pools.

  2. En la lista de node pools, busque el node pool de destino. En la columna Actions, haga clic en el icono image y seleccione Enable Managed Node Pool (si es un node pool estándar) o Configure Managed Node Pool (si es un node pool administrado). Establezca el modo de Configure Managed Node Pool en Managed Node Pool y habilite la reparación automática de nodos.

    Para obtener detalles sobre la configuración, consulte Create and manage a node pool. Para conocer las consideraciones sobre el reinicio de nodos, consulte la sección siguiente.

Eventos de reparación automática

ACK registra los eventos de reparación automática en el Event Center. En la página de detalles del clúster, elija Operations > Event Center. En la pestaña Node Events, consulte los registros de reparación automática. Suscríbase a estos eventos mediante Event monitoring.

Evento

Nivel

Descripción

NodeRepairStart

Normal

Se inició la reparación automática del nodo.

NodeRepairAction

Normal

Se ejecutó una acción de reparación, como reiniciar kubelet.

NodeRepairSucceed

Normal

La reparación automática del nodo se completó correctamente.

NodeRepairFailed

Warning

La reparación falló. Consulte FAQ.

NodeRepairIgnore

Normal

Se omitió porque la instancia ECS no estaba en ejecución.

Preguntas frecuentes

Fallo de la reparación automática

La reparación automática no resuelve todos los fallos. Si la reparación falla o el problema persiste, ACK establece el estado del nodo en Recovery failed.

Cuando la reparación automática de un nodo falla, las reparaciones posteriores de ese node pool se pausan hasta que se resuelva el problema. Puede enviar un ticket para obtener asistencia.

Referencias