檢視節點的運作狀態 - Amazon EKS

協助改進此頁面

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

檢視節點的運作狀態

本主題說明可用於監控 Amazon EKS 叢集中節點運作狀態的工具和方法。相關資訊涵蓋節點條件、事件和偵測案例,可協助您識別和診斷節點層級問題。使用此處所述的命令和模式來檢查節點運作狀態資源、解譯狀態條件,並分析節點事件以進行操作故障診斷。

您可以針對所有節點使用 Kubernetes 命令,以取得一些節點運作狀態資訊。此外,如果您透過 Amazon EKS 自動模式或 Amazon EKS 受管附加元件使用節點監控代理程式,您將會取得更多種類的節點訊號,進而協助故障診斷。在可觀測性儀表板中,還會提供節點監控代理程式偵測的運作狀態問題說明。如需詳細資訊,請參閱 啟用節點自動修復並調查節點運作狀態問題

節點條件

節點條件代表需要修復動作的終端問題,例如執行個體替換或重新啟動。

若要取得所有節點的條件:

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

若要取得特定節點的詳細條件

kubectl describe node node-name

運作狀態良好的節點的範例條件輸出:

- 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

存在聯網問題的運作狀態不佳的節點的範例條件:

- 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

事件節點

節點事件表示暫時性問題或非最佳化的組態。

若要取得節點監控代理程式報告的所有事件

節點監控代理程式可用時,您可以執行下列命令。

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

輸出範例:

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

若要取得所有節點的事件

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

若要取得特定節點的事件

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

若要即時監看事件

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

範例事件輸出:

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

常見的故障診斷命令

# 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