協助改進此頁面
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 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 nodenode-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 nodenode-name-o yaml # Watch node status changes kubectl get nodes -w # Get node metrics kubectl top node