Cómo ver el estado de los nodos - Amazon EKS

Ayude a mejorar esta página

Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.

Cómo ver el estado de los nodos

En este tema se explican las herramientas y métodos que existen para supervisar el estado de los nodos en los clústeres de Amazon EKS. La información abarca condiciones, eventos y casos de detección de nodos útiles a la hora de identificar y diagnosticar problemas a nivel de nodo. Utilice los comandos y patrones descritos aquí para inspeccionar los recursos de estado de los nodos, interpretar las condiciones de estado y analizar los eventos de los nodos para la resolución de problemas operativos.

Puede obtener información sobre el estado de los nodos con comandos de Kubernetes para todos los nodos. Además, si utiliza el agente de supervisión de nodos a través del modo automático de Amazon EKS o el complemento administrado de Amazon EKS, obtendrá una mayor variedad de señales de nodos útiles para la resolución de problemas. Las descripciones de los problemas de estado detectados por el agente de supervisión de nodos también se encuentran disponibles en el panel de observabilidad. Para obtener más información, consulte Cómo habilitar la reparación automática de los nodos e investigar los problemas de estado de los nodos.

Condiciones de nodos

Las condiciones del nodo representan problemas en el terminal que requieren acciones correctoras, como la sustitución de la instancia o el reinicio.

Para obtener las condiciones de todos los nodos:

kubectl get nodes -o 'custom-columns=NAME:.metadata.name,CONDITIONS:.status.conditions[*].type,STATUS:.status.conditions[*].status'

Para obtener las condiciones detalladas de un nodo específico

kubectl describe node node-name

Ejemplo del resultado de condición de un nodo en buen estado:

- lastHeartbeatTime: "2024-11-21T19:07:40Z" lastTransitionTime: "2024-11-08T03:57:40Z" message: Monitoring for the Networking system is active reason: NetworkingIsReady status: "True" type: NetworkingReady

Ejemplo de condición de un nodo en mal estado con un problema de red:

- lastHeartbeatTime: "2024-11-21T19:12:29Z" lastTransitionTime: "2024-11-08T17:04:17Z" message: IPAM-D has failed to connect to API Server which could be an issue with IPTable rules or any other network configuration. reason: IPAMDNotReady status: "False" type: NetworkingReady

Eventos de nodos

Los eventos de nodos indican problemas temporales o configuraciones que no son óptimas.

Para obtener todos los eventos notificados por el agente de supervisión de nodos

Si el agente de supervisión de nodos está disponible, puede ejecutar el siguiente comando.

kubectl get events --field-selector=reportingComponent=eks-node-monitoring-agent

Resultado de ejemplo:

LAST SEEN TYPE REASON OBJECT MESSAGE 4s Warning SoftLockup node/ip-192-168-71-251.us-west-2.compute.internal CPU stuck for 23s

Para obtener eventos de todos los nodos

kubectl get events --field-selector involvedObject.kind=Node

Para obtener eventos de un nodo específico

kubectl get events --field-selector involvedObject.kind=Node,involvedObject.name=node-name

Para ver eventos en tiempo real

kubectl get events -w --field-selector involvedObject.kind=Node

Ejemplo de resultado de un evento:

LAST SEEN TYPE REASON OBJECT MESSAGE 2m Warning MemoryPressure Node/node-1 Node experiencing memory pressure 5m Normal NodeReady Node/node-1 Node became ready

Comandos de resolución de problemas habituales

# Get comprehensive node status kubectl get node node-name -o yaml # Watch node status changes kubectl get nodes -w # Get node metrics kubectl top node