偵測節點運作狀態問題並啟用自動節點修復 - Amazon EKS

協助改進此頁面

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

偵測節點運作狀態問題並啟用自動節點修復

節點運作狀態是指 Kubernetes 節點有效執行工作負載的操作狀態和功能。運作狀態良好的節點會維持預期的網路連線能力、有足夠的運算和儲存資源,而且可以成功執行工作負載而不會中斷。

為了協助在 EKS 叢集中維護正常運作的節點,EKS 提供節點監控代理程式和自動節點修復。這些功能會透過 EKS Auto Mode 運算自動啟用。您也可以搭配 EKS 受管節點群組和 Karpenter 使用自動節點修復,也可以搭配 AWS Fargate 以外的任何 EKS 運算類型使用 EKS 節點監控代理程式。EKS 節點監控代理程式和自動節點修復在一起使用時最有效,但也可以在 EKS 叢集中個別使用。

重要

節點監控代理程式節點自動修復功能僅適用於 Linux。這些功能不適用於 Windows。

節點監控代理程式

EKS 節點監控代理程式會讀取節點日誌,以偵測運作狀態問題。它會剖析日誌,以偵測故障並顯示節點運作狀態的相關資訊。對於偵測到的每個問題類別,代理程式會將專用 NodeCondition 套用至工作者節點。如需 EKS 節點監控代理程式偵測到的節點運作狀態問題詳細資訊,請參閱 使用 EKS 節點監控代理程式偵測節點運作狀態問題

EKS Auto Mode 運算包含節點監控代理程式。對於其他 EKS 運算類型,您可以將節點監控代理程式新增為 EKS 附加元件,也可以使用 Helm 等 Kubernetes 工具進行管理。如需詳細資訊,請參閱設定節點監控代理程式

使用 EKS 節點監控代理程式時,下列類別的節點運作狀態問題會呈現為節點條件。請注意,ReadyDiskPressureMemoryPressure是標準 Kubernetes 節點條件,即使沒有 EKS 節點監控代理程式也會呈現。

節點條件 Description

AcceleratedHardwareReady

AcceleratedHardwareReady 指出節點上的加速硬體 (GPU、Neuron) 是否正常運作。

ContainerRuntimeReady

ContainerRuntimeReady 指出容器執行時間 (容器等) 是否正常運作且能夠執行容器。

DiskPressure

DiskPressure 是標準 Kubernetes 條件,表示節點遇到磁碟壓力 (磁碟空間不足或 I/O 高)。

KernelReady

KernelReady 指出核心是否正常運作,而不會發生嚴重錯誤、恐慌或資源耗盡。

MemoryPressure

MemoryPressure 是標準 Kubernetes 條件,表示節點正經歷記憶體壓力 (可用的記憶體不足)。

NetworkingReady

NetworkingReady 指出節點的網路堆疊是否正常運作 (介面、路由、連線能力)。

StorageReady

StorageReady 指出節點的儲存子系統是否正常運作 (磁碟、檔案系統、I/O)。

備妥

Ready 是標準 Kubernetes 條件,表示節點運作狀態良好且已準備好接受 Pod。

自動節點修復

EKS 自動節點修復會持續監控節點運作狀態、對偵測到的問題做出反應,並盡可能取代或重新啟動節點。這可在最少手動介入的情況下改善叢集可靠性,並有助於減少應用程式停機時間。

EKS 自動節點修復本身會回應 kubelet Ready的條件、任何手動刪除的節點物件,以及無法加入叢集的 EKS 受管節點群組執行個體。在安裝節點監控代理程式的情況下啟用 EKS 自動節點修復時,EKS 自動節點修復會回應其他節點條件:AcceleratedHardwareReadyContainerRuntimeReadyKernelReadyNetworkingReadyStorageReady

EKS 自動節點修復不會回應標準 Kubernetes DiskPressureMemoryPressure、 或 PIDPressure節點條件。這些條件通常表示應用程式行為、工作負載組態或資源限制的問題,而不是節點層級失敗,因此難以判斷適當的預設修復動作。在這些情況下,工作負載會受到 Kubernetes 節點壓力移出行為的約束。

如需 EKS 自動節點修復的詳細資訊,請參閱 自動修復 EKS 叢集中的節點

主題