Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Customize auto repair

Última actualización: Sep 15, 2026

Los node pools de Container Service for Kubernetes (ACK) admiten la reparación automática personalizada. En los nodos ECS y Lingjun, incluidos los super nodes, ACK detecta los errores de GPU y los errores subyacentes del nodo. Luego los repara con los pasos que usted defina e informa el progreso mediante Kubernetes Events.

Antes de empezar

  • Tipos de node pool: node pools de Elastic Compute Service (ECS) y node pools de Lingjun, incluidos los super nodes.

  • Tipos de error: errores de nodo, errores de GPU y errores de sistema y componentes.

  • Dependencia de complementos

    • Detección de errores: requiere ack-node-problem-detector (NPD) v1.2.36 o posterior para detectar errores de GPU, de sistema, de componentes y de complementos.

    • Reparación automática: se gestiona mediante node-lifecycle-controller. Actualice a la versión más reciente para obtener las capacidades de reparación más nuevas. Para consultar las instrucciones de actualización, consulte Upgrade the node auto repair add-on.

  • Diagnóstico automático de errores: compatible solo con los node pools de ECS.

  • Regiones: no es compatible con las regiones de nube dedicada.

Mecanismo de reparación automática

La reparación automática de nodos supervisa las señales de error que reportan los nodos, como los eventos de CloudMonitor (CMS), los eventos del sistema subyacente y los errores de GPU, de sistema y de componentes que detecta NPD. ACK convierte cada error detectado en un Kubernetes Event y en una Node Condition. Después repara el nodo según las reglas de reparación automática configuradas e informa el progreso mediante Kubernetes Events.

Proceso

  1. Detección de errores: ACK supervisa de forma continua los eventos subyacentes del nodo y las anomalías que reporta NPD. Cuando detecta un error, agrega la Node Condition correspondiente al nodo y genera un plan de reparación.

  2. Gestión de errores: ACK ejecuta los pasos de reparación en secuencia según la regla de reparación automática. Cada paso se puede habilitar u omitir. Además, cualquier paso habilitado puede requerir intervención manual; en ese caso, ACK continúa solo después de otorgar la autorización.

    1. Aislamiento del nodo: marca el nodo con errores como Unschedulable para evitar que se programen nuevas cargas de trabajo en él.

    2. Vaciado del nodo: expulsa las cargas de trabajo que se ejecutan en el nodo.

    3. Reparación automática: inicia una acción de reparación, como una reparación de hardware o un reinicio del nodo, según el tipo de error.

    4. Eliminación del aislamiento del nodo: restaura el nodo a un estado Schedulable cuando finaliza la reparación.

    Para determinar si una reparación fue exitosa o terminó con errores, consulte Kubernetes Events for node auto repair.

A continuación se muestra el proceso de reparación automática.

image
ACK gestiona los errores por prioridad: primero repara los errores de tipo reparación con alta prioridad y pospone los de tipo reinicio con baja prioridad hasta que se gestionen todos los de alta prioridad.

Precauciones

  • Si el clúster ya ejecuta otro software de reparación automática de nodos, evalúe cuidadosamente la configuración antes de usar esta función para evitar conflictos entre varios mecanismos de reparación.

  • Si se habilita la intervención manual en algún paso de reparación, otorgue la autorización de inmediato. De lo contrario, ACK pausa el paso actual y todos los siguientes, por lo que el nodo podría permanecer en un estado no saludable.

  • Cuando ocurre un error de tipo nodo en un nodo Lingjun, ACK lo repara durante la etapa de reparación mediante la operación de O&M basada en aprobación de Lingjun. Supervise el estado del nodo Lingjun y su estado de nodo en el clúster de ACK para limitar el impacto en sus cargas de trabajo.

  • Si el proceso de reparación automática del nodo termina con errores, inicie sesión en el clúster lo antes posible, repare el nodo manualmente y restáurelo a un estado Schedulable. Si necesita ayuda, comuníquese con el soporte técnico.

  • Después de habilitar la reparación automática de nodos, habilite la gestión de alertas y active los conjuntos de reglas de alerta GPU monitoring and alert rules, Alert Rules for Node Pool O&M Events y Cluster Node Auto Repair Alert Rule Set. Para obtener más información, consulte Configure alerts.

Configurar reglas de reparación automática

Procedimiento

Para configurar y usar la reparación automática de nodos, complete los siguientes pasos:

  1. Configurar reglas de reparación automática: en las configuraciones administradas de un node pool nuevo o existente, cree una regla de reparación automática y especifique los tipos de error y el proceso de reparación. Para obtener más información, consulte Auto repair configuration.

  2. Configurar la limitación y la interrupción (opcional): en las configuraciones administradas, establezca el número máximo de nodos reparados en paralelo y el umbral de interrupción. Esto evita que las operaciones de reparación sobrecarguen el clúster durante errores a gran escala. Para obtener más información, consulte Auto repair throttling and circuit breaking.

  3. Habilitar el diagnóstico automático de errores (opcional, solo para node pools de ECS): en las configuraciones administradas, seleccione Automatic Fault Diagnosis para habilitar el diagnóstico profundo de errores de hardware de GPU. Para obtener más información, consulte Enable automatic fault diagnosis.

  4. Habilitar alertas: active la gestión de alertas y los conjuntos de reglas de alerta para la reparación automática de nodos. Para obtener más información, consulte Configure alerts.

  5. Supervisar y gestionar eventos: siga el progreso de la reparación automática mediante Kubernetes Events (consulte Kubernetes Events for node auto repair). Otorgue la autorización en cuanto ACK la solicite e intervenga manualmente si el proceso termina con errores.

Configuración de la reparación automática

Puede habilitar la reparación automática de nodos y definir reglas de reparación automática cuando cree un node pool o modifique un node pool existente.

Puntos de entrada

  • Node pool nuevo: cuando cree un node pool, en el área Configure Managed Node Pool, seleccione Custom Node Management. Luego siga las instrucciones en pantalla para habilitar Auto Repair y crear reglas de reparación automática. Para consultar la descripción completa de los elementos de configuración, consulte Create and manage node pools.

  • Node pool existente: en la lista de node pools, busque el node pool de destino. En la columna Actions, haga clic en imageEnable Managed Node Pool si el modo administrado no está habilitado, o haga clic en imageConfigure Managed Node Pool si el modo administrado ya está habilitado. Después siga las instrucciones en pantalla para crear reglas de reparación automática y habilitar la reparación automática de nodos.

Configurar una regla de reparación automática

  1. Acceder a la página de configuración de reglas: abra el panel Create Self-Healing Rule desde la página de creación o configuración del node pool, o haga clic en Create Self-Healing Rule en la página Self-Healing Rule.

  2. Configurar subreglas:

    1. Seleccionar el tipo de error y la acción de reparación: según el tipo de error (errores de nodo, errores de GPU o errores de sistema y componentes), seleccione la acción de reparación correspondiente (consulte Faults).

    2. Configurar el proceso de reparación: todos los siguientes pasos admiten intervención manual; en ese caso, ACK ejecuta el paso solo después de otorgar la autorización. Para obtener más información, consulte la descripción en la consola.

      image

      Parámetro

      Descripción

      Node isolation

      Marca el nodo con errores como Unschedulable (spec.unschedulable=true) para evitar que se programen nuevas cargas de trabajo en él.

      Node draining

      Requiere el aislamiento del nodo. Expulsa las cargas de trabajo del nodo una por una y respeta las restricciones de Pod Disruption Budget (PDB). El tiempo de espera predeterminado es de 300 segundos y se puede configurar. No se expulsan los pods gestionados por un DaemonSet o un OpenKruise Advanced DaemonSet, ni los pods etiquetados con alibabacloud.com/evict-pod=skip. El proceso avanza al siguiente paso cuando transcurre el tiempo de espera.

      Automatic repair

      Ejecuta la acción de reparación que corresponde al tipo de error (para obtener más información, consulte Faults).

      Node isolation removal

      Requiere el aislamiento del nodo. Vuelve a hacer que el nodo sea Schedulable (spec.unschedulable=false). Si el nodo ya era Unschedulable antes de iniciar el proceso de reparación, este paso no lo restaura a un estado Schedulable.

Limitación e interrupción de la reparación automática

Después de seleccionar Custom Node Management y habilitar Auto Repair en la página Configure Managed Node Pool, la política de limitación e interrupción de la reparación automática entra en vigor con su configuración predeterminada.

Política predeterminada

De forma predeterminada, si varios nodos de un node pool presentan anomalías al mismo tiempo, ACK los repara uno por uno y no activa la interrupción.

Modificar la política predeterminada

Si la política predeterminada no cumple con sus requisitos, haga clic en Modify Auto Repair Throttling and Circuit Breaking Policy y configure los siguientes parámetros:

Parámetro

Descripción

Maximum number of nodes repaired in parallel

El número máximo de nodos que ACK repara al mismo tiempo cuando muchos nodos del node pool presentan anomalías.

Circuit breaking condition

Cuando la cantidad de nodos con errores supera este umbral, la reparación automática entra en estado de interrupción y deja de iniciar nuevas operaciones de reparación.

Nota
  • Umbral de interrupción: debe ser mayor o igual que el límite de reparación en paralelo para evitar que las reparaciones se detengan de forma prematura.

  • Límite de reparación en paralelo: para la recuperación de un super node, ACK repara todos los nodos secundarios de forma simultánea. Este límite debe ser, como mínimo, la cantidad de nodos secundarios de un solo super node.

Habilitar el diagnóstico automático de errores

Después de habilitar el diagnóstico automático de errores, ACK usa el sondeo del lado del nodo ack-node-problem-detector para detectar posibles anomalías y ejecutar un diagnóstico profundo del hardware de GPU. Cuando se confirma una anomalía, ACK genera alertas mediante Kubernetes Events, Node Conditions y eventos del sistema de ECS. Combine estas alertas con las reglas de reparación automática para que ACK responda automáticamente.

Esta opción aplica solo a los node pools de ECS.

Cómo habilitarlo

Node pool nuevo

Cuando cree un node pool, en el área Configure Managed Node Pool, seleccione Custom Node Management y luego seleccione la casilla de verificación Automatic Fault Diagnosis.

Node pool existente

  • Para node pools administrados: en la lista de node pools, haga clic en image > Configure Managed Node Pool en la columna Actions del node pool de destino. En el cuadro de diálogo Configure Managed Node Pool, seleccione la casilla de verificación Auto Fault Diagnosis.

  • Para node pools no administrados: en la lista de node pools, haga clic en image > Enable Managed Node Pool en la columna Actions del node pool de destino. En el cuadro de diálogo Enable Managed Node Pool, seleccione Custom Node Management y luego seleccione la casilla de verificación Auto Fault Diagnosis.

Los siguientes elementos de error de NPD activan un diagnóstico profundo de ECS:

Elemento de error

Descripción

NvidiaXID48Error

Double Bit ECC Error (DBE). Este evento se registra cuando la GPU detecta un error no corregible.

NvidiaXID62Error

Detención del microcontrolador interno de la GPU.

NvidiaXID74Error

Error de NVLink.

NvidiaXID79Error

La GPU se desconectó del bus.

NvidiaXID109Error

Context Switch Timeout Error.

NvidiaXID119Error

Se produce un tiempo de espera mientras se aguarda la respuesta del núcleo GSP a un mensaje RPC.

NvidiaXID120Error

Se produce un error en el código que se ejecuta en el núcleo GSP de la GPU.

NvidiaXID145Error

NVLink: RLW Error.

NvidiaXID154Error

GPU Recovery Action Changed.

NvidiaPowerCableErr

El cable de alimentación externo del dispositivo no está conectado correctamente.

Configurar alertas

Después de habilitar la reparación automática de nodos, habilite la gestión de alertas y active los siguientes conjuntos de reglas de alerta: GPU monitoring and alert rules, Alert Rules for Node Pool O&M Events y Cluster Node Auto Repair Alert Rule Set. Configure un grupo de alertas o un contacto dedicado para recibir notificaciones de inmediato cuando ocurra una excepción.

Para obtener información sobre cómo habilitar los conjuntos de reglas, consulte ACK alert management.

Descripción de las alertas

Los conjuntos de reglas de alerta incluyen los siguientes elementos de alerta relacionados con la reparación automática de nodos:

Elemento de alerta

Descripción

Underlying event conversion alert

Se activa cuando los eventos subyacentes del nodo (eventos de CloudMonitor de Lingjun y eventos del sistema de ECS) se convierten en Node Conditions y Kubernetes Events. Así puede detectar a tiempo las anomalías de hardware y de sistema del nodo. Para consultar la asignación completa, consulte Underlying event to Node Condition conversion.

GPU monitoring alert

Se activa cuando NPD detecta una anomalía en un dispositivo GPU. Para consultar los elementos de error específicos y las acciones de corrección, consulte GPU faults.

Overall auto repair progress alert

Informa el progreso general del proceso de reparación automática del nodo, incluidos los resultados de los pasos Node isolation, Node draining, Automatic repair y Node isolation removal. Para consultar los eventos de cada paso, consulte Kubernetes Events for node auto repair.

Auto repair summary for cluster node pools

Resume el estado de reparación automática de cada node pool del clúster a las 10:00 y a las 18:00 hora local todos los días. El resumen destaca los nodos que esperan aprobación y los nodos en estado Unschedulable. También proporciona comandos de consulta listos para ejecutar, de modo que pueda responder a tiempo.

Actualizar el complemento de reparación automática de nodos

La reparación automática de nodos funciona mediante el complemento node-lifecycle-controller. Los nuevos tipos de error, acciones de reparación y elementos de alerta requieren una versión posterior, por lo que debe actualizar el complemento a la versión más reciente.

  1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, abra el clúster de destino.

  2. En el panel de navegación izquierdo de la página de gestión del clúster, haga clic en Components and Add-ons.

  3. Busque y encuentre el complemento node-lifecycle-controller. Si hay una nueva versión disponible, haga clic en Upgrade y confirme en el cuadro de diálogo.

    Para conocer más operaciones con complementos, consulte Components.

Errores

A continuación se presentan tablas que describen las Node Conditions que activan la reparación automática, las acciones de corrección y los criterios de recuperación para cada tipo de error.

Errores de nodo

Aplica a anomalías de hardware subyacente y errores de tipo reinicio en nodos ECS y Lingjun, incluidos los super nodos.

Lingjun

Nombre del error

Nombre del evento subyacente

Node Condition de Kubernetes

Descripción

Acción de corrección

Criterios de recuperación

El nodo Lingjun requiere reparación debido a una anomalía de hardware subyacente

Node.HardwareFault.HOST:Inquiring

resourceType: Node
  • Type: Node.HardwareFault.HOST

  • Reason: Node.HardwareFault.HOST:Inquiring

  • Status: True

El nodo Lingjun presenta un error de hardware y requiere reparación. Esta reparación puede provocar la pérdida de datos en los discos locales del nodo.

Reparar el nodo Lingjun

Importante

La reparación de un nodo Lingjun puede provocar la pérdida de datos en sus discos locales. Haga una copia de seguridad de sus datos por adelantado. Si los directorios del entorno de ejecución de contenedores y de kubelet están montados en un disco local, elimine el nodo de la lista de nodos del clúster de ACK y vuelva a agregarlo cuando finalice la reparación.

Se cumplen ambas condiciones siguientes:

  1. El estado del nodo de Kubernetes es Ready.

  2. La Node Condition que activó el error se resolvió, o su Reason es uno de los siguientes:

    • Node.HardwareFault.HOST:Executed

    • Node.HardwareFault.HOST:Terminated

El nodo Lingjun requiere un reinicio debido a una anomalía subyacente

Node.FaultNeedReboot.HOST:Inquiring

resourceType: Node
  • Type: Node.FaultNeedReboot.HOST

  • Reason: Node.FaultNeedReboot.HOST:Inquiring

  • Status: True

El nodo Lingjun presenta un error. Reinicie el nodo lo antes posible para intentar repararlo.

Reiniciar el nodo

Se cumplen ambas condiciones siguientes:

  1. El estado del nodo de Kubernetes es Ready.

  2. La Node Condition que activó el error se resolvió, o su Reason es uno de los siguientes:

    • Node.FaultNeedReboot.HOST:Executed

    • Node.FaultNeedReboot.HOST:Terminated

El nodo Lingjun requiere reparación debido a una anomalía de hardware subyacente (afectado por un super nodo)

Node.HardwareFault.HOST:Inquiring

resourceType: HyperNode
  • Type: HyperNode.Node.HardwareFault.HOST

  • Reason: HyperNode.Node.HardwareFault.HOST:Inquiring

  • Status: True

El super nodo Lingjun presenta un error de hardware que requiere reparación. Autorice la reparación lo antes posible. ACK inicia un flujo de reparación automática independiente para cada nodo secundario del super nodo. Cuando todos los procesos de reparación de los nodos secundarios llegan al paso de reparación, ACK solicita una única autorización para reparar todo el super nodo.

Reparar el nodo Lingjun

Importante

La reparación de un nodo Lingjun puede provocar la pérdida de datos en sus discos locales. Haga una copia de seguridad de sus datos por adelantado. Si los directorios del entorno de ejecución de contenedores y de kubelet están montados en un disco local, elimine el nodo de la lista de nodos del clúster de ACK y vuelva a agregarlo cuando finalice la reparación.

Se cumplen ambas condiciones siguientes:

  1. El estado del nodo de Kubernetes es Ready.

  2. La Node Condition que activó el error se resolvió, o su Reason es uno de los siguientes:

    • HyperNode.Node.HardwareFault.HOST:Executed

    • HyperNode.Node.HardwareFault.HOST:Terminated

El nodo Lingjun requiere un reinicio debido a una anomalía subyacente (afectado por un super nodo)

Node.FaultNeedReboot.HOST:Inquiring

resourceType: HyperNode
  • Type: HyperNode.Node.FaultNeedReboot.HOST

  • Reason: HyperNode.Node.FaultNeedReboot.HOST:Inquiring

  • Status: True

El super nodo Lingjun presenta un error. Autorice la reparación lo antes posible. ACK inicia un flujo de reparación automática independiente para cada nodo secundario del super nodo. Cuando todos los procesos de reparación de los nodos secundarios llegan al paso de reparación, ACK solicita una única autorización para reparar todo el super nodo.

Reiniciar el nodo

Se cumplen ambas condiciones siguientes:

  1. El estado del nodo de Kubernetes es Ready.

  2. La Node Condition que activó el error se resolvió, o su Reason es uno de los siguientes:

    • HyperNode.Node.FaultNeedReboot.HOST:Executed

    • HyperNode.Node.FaultNeedReboot.HOST:Terminated

ECS

Nombre del error

Nombre del evento subyacente

Node Condition de Kubernetes

Descripción

Acción de corrección

Criterios de recuperación

Redespliegue de instancia obligatorio por mantenimiento del sistema (Scheduled)

SystemMaintenance.Redeploy:Scheduled

  • Type: SystemMaintenance.Redeploy

  • Reason: SystemMaintenance.Redeploy:Scheduled

  • Status: True

Alibaba Cloud detectó un riesgo potencial de software o hardware en el host subyacente de la instancia ECS. Esto podría requerir un redespliegue de la instancia, aunque aún no constituye un error. Inicie el redespliegue de inmediato para mitigar el riesgo. De lo contrario, ECS lo activará entre 24 y 48 horas después. Para más información, consulte Overview of ECS system events.

Redesplegar el nodo

Importante

Los datos del disco local podrían perderse durante el redespliegue del nodo. Haga una copia de seguridad de sus datos por adelantado.

Se cumplen ambas condiciones siguientes:

  1. El estado del nodo de Kubernetes es Ready.

  2. La Node Condition que activó el error se resolvió, o su Reason es uno de los siguientes:

    • SystemMaintenance.Redeploy:Executed

    • SystemMaintenance.Redeploy:Avoided

    • SystemMaintenance.Redeploy:Canceled

Redespliegue de instancia obligatorio por mantenimiento del sistema (Inquiring)

SystemMaintenance.Redeploy:Inquiring

  • Type: SystemMaintenance.Redeploy

  • Reason: SystemMaintenance.Redeploy:Inquiring

  • Status: True

Alibaba Cloud detectó un riesgo potencial de software o hardware en el host subyacente de la instancia ECS. Esto podría requerir un redespliegue de la instancia, aunque aún no constituye un error. Inicie el redespliegue de inmediato para mitigar el riesgo. Para más información, consulte Overview of ECS system events.

Redesplegar el nodo

Importante

Los datos del disco local podrían perderse durante el redespliegue del nodo. Haga una copia de seguridad de sus datos por adelantado.

Se cumplen ambas condiciones siguientes:

  1. El estado del nodo de Kubernetes es Ready.

  2. La Node Condition que activó el error se resolvió, o su Reason es uno de los siguientes:

    • SystemMaintenance.Redeploy:Executed

    • SystemMaintenance.Redeploy:Avoided

    • SystemMaintenance.Redeploy:Canceled

Reinicio de instancia obligatorio por mantenimiento del sistema (Scheduled)

SystemMaintenance.Reboot:Scheduled

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Scheduled

  • Status: True

Alibaba Cloud detectó un riesgo potencial de software o hardware en el host subyacente de la instancia ECS. Esto podría requerir un reinicio de la instancia, aunque aún no constituye un error. Inicie el reinicio de inmediato para mitigar el riesgo. De lo contrario, ECS lo activará entre 24 y 48 horas después. Para más información, consulte Overview of ECS system events.

Reiniciar el nodo

Se cumplen ambas condiciones siguientes:

  1. El estado del nodo de Kubernetes es Ready.

  2. La Node Condition que activó el error se resolvió, o su Reason es uno de los siguientes:

    • SystemMaintenance.Reboot:Executed

    • SystemMaintenance.Reboot:Avoided

    • SystemMaintenance.Reboot:Canceled

Reinicio de instancia obligatorio por mantenimiento del sistema (Inquiring)

SystemMaintenance.Reboot:Inquiring

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Inquiring

  • Status: True

Alibaba Cloud detectó un riesgo potencial de software o hardware en el host subyacente de la instancia ECS. Esto podría requerir un reinicio de la instancia, aunque aún no constituye un error. Inicie el reinicio de inmediato para mitigar el riesgo. Para más información, consulte Overview of ECS system events.

Reiniciar el nodo

Se cumplen ambas condiciones siguientes:

  1. El estado del nodo de Kubernetes es Ready.

  2. La Node Condition que activó el error se resolvió, o su Reason es uno de los siguientes:

    • SystemMaintenance.Reboot:Executed

    • SystemMaintenance.Reboot:Avoided

    • SystemMaintenance.Reboot:Canceled

Para ver la correspondencia completa entre eventos subyacentes, Node Conditions y Events de Kubernetes, consulte Underlying event to Node Condition conversion.

Errores de GPU

La detección de estos errores depende del complemento NPD. Todos los errores de GPU comparten los mismos criterios de recuperación: el estado del nodo es Ready y la Node Condition que los activó se resolvió.

Lingjun

Nombre del error

Node Condition de Kubernetes

Descripción

Acción de corrección

NvidiaXID48Error

  • Type: NvidiaXID48Error

  • Reason: NodeHasNvidiaXID48Error

Double Bit ECC Error (DBE). Este evento se registra cuando la GPU detecta un error no corregible.

Reiniciar el nodo

NvidiaXID62Error

  • Type: NvidiaXID62Error

  • Reason: NodeHasNvidiaXID62Error

Detención del microcontrolador interno de la GPU.

Reiniciar el nodo

NvidiaXID140Error

  • Type: NvidiaXID140Error

  • Reason: NodeHasNvidiaXID140Error

El controlador de la GPU detecta un error no corregible en la memoria de la GPU.

Reiniciar el nodo

NvidiaXID95Error

  • Type: NvidiaXID95Error

  • Reason: NodeHasNvidiaXID95Error

El controlador de la GPU detecta un error no corregible en la memoria de la GPU y la supresión falló.

Reiniciar el nodo

NvidiaXID120Error

  • Type: NvidiaXID120Error

  • Reason: NodeHasNvidiaXID120Error

Se produce un error en el código que se ejecuta en el núcleo GSP de la GPU.

Reiniciar el nodo

NvidiaXID31Error

  • Type: NvidiaXID31Error

  • Reason: NodeHasNvidiaXID31Error

Fallo de página en la memoria de la GPU.

Reiniciar el nodo

NvidiaPendingRetiredPages

  • Type: NvidiaPendingRetiredPages

  • Reason: NodeHasNvidiaPendingRetiredPages

La GPU tiene páginas retiradas en estado pendiente.

Reiniciar el nodo

NvidiaRemappingRowsRequireReset

  • Type: NvidiaRemappingRowsRequireReset

  • Reason: GPUMemoryRemappingRowsFailed

La reasignación de filas está pendiente y se ejecutará en el próximo reinicio de la GPU.

Reiniciar el nodo

NvidiaXID119Error

  • Type: NvidiaXID119Error

  • Reason: NodeHasNvidiaXID119Error

Se agota el tiempo de espera mientras se aguarda la respuesta del núcleo GSP a un mensaje RPC.

Reiniciar el nodo

Todos los errores de GPU se corrigen al reiniciar el nodo. Si un error de GPU coincide con un evento del sistema Lingjun que requiere reparación, ACK no reinicia el nodo. Un reinicio durante la reparación podría provocar la pérdida de datos en el disco local y hacer que el proceso de reparación automática termine con errores. Configure una regla de reparación automática independiente para los errores de tipo reparación y cubra este escenario. Para más información, consulte Lingjun node requires repair due to an underlying hardware anomaly .

ECS

Nombre del error

Node Condition de Kubernetes

Descripción

Acción de corrección

NvidiaXID48Error

  • Type: NvidiaXID48Error

  • Reason: NodeHasNvidiaXID48Error

Double Bit ECC Error (DBE). Este evento se registra cuando la GPU detecta un error no corregible.

Reiniciar el nodo

NvidiaXID62Error

  • Type: NvidiaXID62Error

  • Reason: NodeHasNvidiaXID62Error

Detención del microcontrolador interno de la GPU.

Reiniciar el nodo

NvidiaXID140Error

  • Type: NvidiaXID140Error

  • Reason: NodeHasNvidiaXID140Error

El controlador de la GPU detecta un error no corregible en la memoria de la GPU.

Reiniciar el nodo

NvidiaXID95Error

  • Type: NvidiaXID95Error

  • Reason: NodeHasNvidiaXID95Error

El controlador de la GPU detecta un error no corregible en la memoria de la GPU y la supresión falló.

Reiniciar el nodo

NvidiaXID120Error

  • Type: NvidiaXID120Error

  • Reason: NodeHasNvidiaXID120Error

Se produce un error en el código que se ejecuta en el núcleo GSP de la GPU.

Reiniciar el nodo

NvidiaXID31Error

  • Type: NvidiaXID31Error

  • Reason: NodeHasNvidiaXID31Error

Fallo de página en la memoria de la GPU.

Reiniciar el nodo

NvidiaPendingRetiredPages

  • Type: NvidiaPendingRetiredPages

  • Reason: NodeHasNvidiaPendingRetiredPages

La GPU tiene páginas retiradas en estado pendiente.

Reiniciar el nodo

NvidiaRemappingRowsRequireReset

  • Type: NvidiaRemappingRowsRequireReset

  • Reason: GPUMemoryRemappingRowsFailed

La reasignación de filas está pendiente y se ejecutará en el próximo reinicio de la GPU.

Reiniciar el nodo

NvidiaXID119Error

  • Type: NvidiaXID119Error

  • Reason: NodeHasNvidiaXID119Error

Se agota el tiempo de espera mientras se aguarda la respuesta del núcleo GSP a un mensaje RPC.

Reiniciar el nodo

Errores del sistema y de componentes

La detección de estos errores depende del complemento NPD.

Nombre del error

Node Condition de Kubernetes

Descripción

Acción de corrección

Umbral de detección de errores

Criterios de recuperación

El proceso de sincronización de hora del nodo presenta anomalías

  • Type: NTPProblem

  • Status: True

El proceso de sincronización de hora (ntpd o chronyd) presenta anomalías.

Inicie sesión en el nodo y ejecute los comandos de reparación

Nota

Si habilita la opción que permite reiniciar nodos durante la etapa Automatic repair, ACK intentará reiniciar el nodo si la anomalía persiste después de ejecutar la acción de reparación automática.

10 s

El estado del nodo es Ready y el Status de la Node Condition que activó el error es False.

El entorno de ejecución de contenedores del nodo no está disponible

  • Type: RuntimeOffline

  • Status: True

El entorno de ejecución de contenedores (containerd o Docker Engine) se detuvo y el nodo no está disponible.

Inicie sesión en el nodo y ejecute los comandos de reparación

Nota

Si habilita la opción que permite reiniciar nodos durante la etapa Automatic repair, ACK intentará reiniciar el nodo si la anomalía persiste después de ejecutar la acción de reparación automática.

90 s

El estado del nodo es Ready y el Status de la Node Condition que activó el error es False.

La unidad systemd del nodo presenta anomalías

  • Type: SystemdOffline

  • Status: True

El estado de systemd presenta anomalías, lo que impide iniciar o destruir contenedores.

Reiniciar el nodo

90 s

El estado del nodo es Ready y el Status de la Node Condition que activó el error es False.

El nodo se encuentra en estado NotReady

  • Type: Ready

  • Status: False

kubelet se detuvo o su latido presenta anomalías, lo que hace que el nodo pase al estado NotReady.

Inicie sesión en el nodo y ejecute los comandos de reparación

Nota

Si habilita la opción que permite reiniciar nodos durante la etapa Automatic repair, ACK intentará reiniciar el nodo si la anomalía persiste después de ejecutar la acción de reparación automática.

180 s

En tres sondeos consecutivos, el estado del nodo es Ready y el Status de la Node Condition que activó el error es True.

El sistema de archivos (FS) del nodo se encuentra en estado de solo lectura

  • Type: ReadonlyFilesystem

  • Status: True

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

Reiniciar el nodo

90 s

El estado del nodo es Ready y el Status de la Node Condition que activó el error es False.

Conversión de eventos subyacentes a Node Conditions

ACK convierte los eventos subyacentes que generan los nodos Lingjun, los super nodos Lingjun y los nodos ECS en las Node Conditions y los Kubernetes Events correspondientes. Las tablas de esta sección muestran el mapeo completo de estados para facilitar la resolución de problemas. Para conocer las fallas que activan la reparación automática, sus acciones de remediación y los criterios de recuperación, consulte Faults.

Los eventos subyacentes se asignan a las Node Conditions mediante los siguientes campos:

  • Type: identifica el tipo de falla.

  • Reason: identifica la fase actual del evento.

Orígenes de los eventos subyacentes

La reparación automática de nodos de ACK convierte eventos subyacentes de dos orígenes: los eventos de CloudMonitor que publica el plano de control de Lingjun y los eventos del sistema que publica ECS.

Eventos de Cloud Monitor de Lingjun

El plano de control de Lingjun publica las anomalías de hardware y del sistema de los nodos bare metal de Lingjun como eventos de CloudMonitor. Un evento pasa de Inquiring a Executing y después a Executed o Terminated. ACK extrae estos eventos periódicamente e identifica su tipo. Por ejemplo, Node.HardwareFault.HOST indica que se requiere una reparación, mientras que Node.FaultNeedReboot.HOST señala que es necesario reiniciar el nodo. Posteriormente, los convierte en las Node Conditions correspondientes.

El siguiente diagrama de flujo toma como ejemplo el evento de CloudMonitor Node.HardwareFault.HOST, que corresponde a una falla de hardware en un nodo Lingjun:

image

Eventos del sistema de ECS

Los nodos ECS reutilizan el framework de eventos del sistema de ECS. El ciclo de vida del evento incluye los siguientes estados: Inquiring, Scheduled, Executing, Executed, Avoided, Failed y Canceled. ACK llama a la API de eventos del sistema de ECS para obtener los eventos de mantenimiento de la instancia, como SystemMaintenance.Reboot y SystemMaintenance.Redeploy, y los asigna a la Node Condition correspondiente del nodo.

El siguiente diagrama de flujo describe los cambios de estado de un evento de mantenimiento de reinicio SystemMaintenance.Reboot desde su estado inicial Inquiring:

image

Conversión de eventos subyacentes para nodos Lingjun regulares

Cada evento subyacente de un nodo Lingjun regular se convierte en la Node Condition y el Kubernetes Event correspondientes de ese nodo dentro del clúster.

Estado del evento

Descripción

Node Condition

Kubernetes Event

Node.HardwareFault.HOST:Inquiring

resourceType: Node

Se está comprobando una falla de hardware en el nodo.

  • Type: Node.HardwareFault.HOST

  • Reason: Node.HardwareFault.HOST:Inquiring

  • Type: Warning

  • Reason: DetectedLingJunCMSEvent

Node.HardwareFault.HOST:Executing

resourceType: Node

Comenzó el mantenimiento por una falla de hardware en el nodo.

  • Type: Node.HardwareFault.HOST

  • Reason: Node.HardwareFault.HOST:Executing

  • Type: Warning

  • Reason: DetectedLingJunCMSEvent

Node.HardwareFault.HOST:Executed

resourceType: Node

Finalizó el mantenimiento por una falla de hardware en el nodo.

  • Type: Node.HardwareFault.HOST

  • Reason: Node.HardwareFault.HOST:Executed

  • Type: Warning

  • Reason: DetectedLingJunCMSEvent

Node.HardwareFault.HOST:Terminated

resourceType: Node

Se canceló el mantenimiento por una falla de hardware en el nodo.

  • Type: Node.HardwareFault.HOST

  • Reason: Node.HardwareFault.HOST:Terminated

  • Type: Warning

  • Reason: DetectedLingJunCMSEvent

Node.FaultNeedReboot.HOST:Inquiring

resourceType: Node

Se está comprobando una falla que requiere reiniciar el nodo.

  • Type: Node.FaultNeedReboot.HOST

  • Reason: Node.FaultNeedReboot.HOST:Inquiring

  • Type: Warning

  • Reason: DetectedLingJunCMSEvent

Node.FaultNeedReboot.HOST:Executing

resourceType: Node

Comenzó el reinicio del nodo para corregir una falla.

  • Type: Node.FaultNeedReboot.HOST

  • Reason: Node.FaultNeedReboot.HOST:Executing

  • Type: Warning

  • Reason: DetectedLingJunCMSEvent

Node.FaultNeedReboot.HOST:Executed

resourceType: Node

Finalizó el reinicio del nodo para corregir una falla.

  • Type: Node.FaultNeedReboot.HOST

  • Reason: Node.FaultNeedReboot.HOST:Executed

  • Type: Warning

  • Reason: DetectedLingJunCMSEvent

Node.FaultNeedReboot.HOST:Terminated

resourceType: Node

Se canceló el mantenimiento de una falla que requiere reiniciar el nodo.

  • Type: Node.FaultNeedReboot.HOST

  • Reason: Node.FaultNeedReboot.HOST:Terminated

  • Type: Warning

  • Reason: DetectedLingJunCMSEvent

Conversión de eventos subyacentes para super nodos Lingjun

Cada evento subyacente de un super nodo Lingjun se convierte en las Node Conditions y los Kubernetes Events correspondientes de todos los nodos secundarios que pertenecen a ese super nodo.

Estado del evento

Descripción

Node Condition

Kubernetes Event

Node.HardwareFault.HOST:Inquiring

resourceType: HyperNode

Se está comprobando una falla de hardware en el nodo.

  • Type: HyperNode.Node.HardwareFault.HOST

  • Reason: HyperNode.Node.HardwareFault.HOST:Inquiring

  • Type: Warning

  • Reason: DetectedLingJunHyperNodeCMSEvent

Node.HardwareFault.HOST:Executing

resourceType: HyperNode

Comenzó el mantenimiento por una falla de hardware en el nodo.

  • Type: HyperNode.Node.HardwareFault.HOST

  • Reason: HyperNode.Node.HardwareFault.HOST:Executing

  • Type: Warning

  • Reason: DetectedLingJunHyperNodeCMSEvent

Node.HardwareFault.HOST:Executed

resourceType: HyperNode

Finalizó el mantenimiento por una falla de hardware en el nodo.

  • Type: HyperNode.Node.HardwareFault.HOST

  • Reason: HyperNode.Node.HardwareFault.HOST:Executed

  • Type: Warning

  • Reason: DetectedLingJunHyperNodeCMSEvent

Node.HardwareFault.HOST:Terminated

resourceType: HyperNode

Se canceló el mantenimiento por una falla de hardware en el nodo.

  • Type: HyperNode.Node.HardwareFault.HOST

  • Reason: HyperNode.Node.HardwareFault.HOST:Terminated

  • Type: Warning

  • Reason: DetectedLingJunHyperNodeCMSEvent

Node.FaultNeedReboot.HOST:Inquiring

resourceType: HyperNode

Se está comprobando una falla que requiere reiniciar el nodo.

  • Type: HyperNode.Node.FaultNeedReboot.HOST

  • Reason: HyperNode.Node.FaultNeedReboot.HOST:Inquiring

  • Type: Warning

  • Reason: DetectedLingJunHyperNodeCMSEvent

Node.FaultNeedReboot.HOST:Executing

resourceType: HyperNode

Comenzó el reinicio del nodo para corregir una falla.

  • Type: HyperNode.Node.FaultNeedReboot.HOST

  • Reason: HyperNode.Node.FaultNeedReboot.HOST:Executing

  • Type: Warning

  • Reason: DetectedLingJunHyperNodeCMSEvent

Node.FaultNeedReboot.HOST:Executed

resourceType: HyperNode

Finalizó el reinicio del nodo para corregir una falla.

  • Type: HyperNode.Node.FaultNeedReboot.HOST

  • Reason: HyperNode.Node.FaultNeedReboot.HOST:Executed

  • Type: Warning

  • Reason: DetectedLingJunHyperNodeCMSEvent

Node.FaultNeedReboot.HOST:Terminated

resourceType: HyperNode

Se canceló el mantenimiento de una falla que requiere reiniciar el nodo.

  • Type: HyperNode.Node.FaultNeedReboot.HOST

  • Reason: HyperNode.Node.FaultNeedReboot.HOST:Terminated

  • Type: Warning

  • Reason: DetectedLingJunHyperNodeCMSEvent

Conversión de eventos de mantenimiento subyacentes para nodos ECS

ACK convierte los eventos de mantenimiento del sistema de los nodos ECS en las Node Conditions y los Kubernetes Events correspondientes.

Estado del evento

Descripción

Node Condition

Kubernetes Event

SystemMaintenance.Reboot:Inquiring

Se está comprobando un reinicio de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Inquiring

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Reboot:Scheduled

Se programó un reinicio de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Scheduled

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Reboot:Executing

Se está ejecutando un reinicio de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Executing

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Reboot:Executed

Finalizó el reinicio de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Executed

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Reboot:Avoided

Se evitó el reinicio de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Avoided

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Reboot:Failed

El reinicio de instancia por mantenimiento del sistema finalizó con errores.

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Failed

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Reboot:Canceled

Se canceló el reinicio de instancia por mantenimiento del sistema porque se mitigó el riesgo.

  • Type: SystemMaintenance.Reboot

  • Reason: SystemMaintenance.Reboot:Canceled

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Redeploy:Inquiring

Se está comprobando un redespliegue de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Redeploy

  • Reason: SystemMaintenance.Redeploy:Inquiring

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Redeploy:Scheduled

Se programó un redespliegue de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Redeploy

  • Reason: SystemMaintenance.Redeploy:Scheduled

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Redeploy:Executing

Se está ejecutando un redespliegue de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Redeploy

  • Reason: SystemMaintenance.Redeploy:Executing

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Redeploy:Executed

Finalizó el redespliegue de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Redeploy

  • Reason: SystemMaintenance.Redeploy:Executed

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Redeploy:Avoided

Se evitó el redespliegue de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Redeploy

  • Reason: SystemMaintenance.Redeploy:Avoided

  • Type: Warning

  • Reason: EcsSystemEventDetected

SystemMaintenance.Redeploy:Canceled

Se canceló el redespliegue de instancia por mantenimiento del sistema.

  • Type: SystemMaintenance.Redeploy

  • Reason: SystemMaintenance.Redeploy:Canceled

  • Type: Warning

  • Reason: EcsSystemEventDetected

Kubernetes Events para la reparación automática de nodos

Cuando se habilita el modo administrado y se asocia una regla de reparación automática a un node pool, ACK convierte los eventos de falla del nodo en Kubernetes Events y Node Conditions. Además, informa el avance del plan de reparación mediante Kubernetes Events. Para consultar estos eventos, ejecute kubectl describe node <node-name> o kubectl get events.

Comprobar si la reparación automática fue correcta

La reparación automática finaliza cuando el estado del nodo vuelve a Ready, se elimina la Node Condition que la activó (o se cumplen los criterios de éxito específicos de la falla) y se genera un evento RepairPlanCompleted con un mensaje de éxito. Si aparece un evento NodeNotRecovery o RepairPlanFailed, el nodo no se recuperó. En este caso, inicie sesión en el clúster y repare el nodo manualmente tal como se describe en Precautions.

Eventos comunes del proceso de reparación automática

A continuación se describen los Kubernetes Events que ACK genera durante el proceso de reparación automática.

Evento (Reason)

Descripción

DetectedLingJunCMSEvent

Se detectó un evento de falla en un nodo Lingjun o se actualizó el estado de un evento de falla.

DetectedLingJunHyperNodeCMSEvent

Se detectó un evento de falla en un super nodo Lingjun o se actualizó el estado de un evento de falla.

EcsSystemEventDetected

Se detectó un evento de falla en un nodo ECS o se actualizó el estado de un evento de falla.

RepairPlanCreated

Se creó un plan de reparación.

WaitingApproveProcedure

El paso actual requiere autorización manual. El mensaje del evento describe la operación por autorizar y el procedimiento para hacerlo.

RepairPlanProcedureWaitingForApproval

Se agregó la etiqueta de autorización a las etiquetas del nodo.

RepairPlanStatusUpdated

Se actualizó el estado del plan de reparación. Este evento registra el paso actual y su resultado.

ApproveLingjunOperation

Se autorizó al plano de control de Lingjun para ejecutar la reparación.

NodeNotRecovery

Una vez terminada la reparación, se comprueba el estado del nodo cada 30 minutos. Este evento se activa si el nodo no se recuperó.

RepairPlanCompleted

Finalizó el plan de reparación. El mensaje del evento indica si la reparación se completó correctamente o con errores.

WaitAllSubNodeRepair

La reparación automática de un evento de super nodo espera a que todos los nodos secundarios de ese super nodo entren en la fase de reparación.

RepairPlanThrottledByMaxUnhealthyNodesThreshold

La cantidad de nodos con fallas en el node pool supera el umbral de corte de circuito. La reparación automática entra en estado de corte de circuito y deja de iniciar nuevas operaciones de reparación.

RepairPlanThrottledByMaxParallelRepairingNodes

La cantidad de nodos con fallas que se reparan en paralelo en el node pool alcanzó el límite máximo.

NodeRecovered

Se recuperó la falla del nodo y la autocomprobación se completó correctamente.

Eventos para escenarios especiales

A continuación se describen los Kubernetes Events que ACK genera en escenarios especiales.

Evento (Reason)

Descripción

NodeRecoveryNeedSilence

El plan de reparación anterior se completó correctamente, pero el tipo de falla actual es distinto. El sistema espera un periodo de enfriamiento de 10 minutos antes de crear un nuevo plan de reparación.

NodeRecoveryHasProcessed

El proceso de reparación automática más reciente gestionó la falla actual correctamente, pero el nodo no se recuperó. Se requiere solución de problemas manual.

RepairPlanFailed

El plan de reparación de la falla actual finalizó con errores. El nodo sigue sin recuperarse y requiere solución de problemas manual.

RepairPlanStatusUpdateFailed

La actualización del estado del plan de reparación finalizó con errores.

AddInquiringLabelFailed

No se pudo establecer la etiqueta de autorización y se canceló el proceso de reparación automática.

RepairSkippedInstanceStateNotReady

El estado actual de la instancia no cumple los requisitos de la acción de reparación, por lo que se omite temporalmente la reparación automática.