如果您希望將節點進行分組納管,同時降低節點的運維負擔,例如操作系統(OS)CVE漏洞自動修復、kubelet自動升級、節點故障時重啟節點等,您可以啟用托管節點池。托管節點池是ACK推出的自動化運維型節點池,在普通節點池的基礎上支持多種自定義運維能力。
托管節點池介紹
使用場景
只關注上層應用開發,不希望花費過多精力運維Worker節點。
對底層節點的變更不敏感,業務Pod對遷移有較高的容忍度,更加關注業務的彈性而非不可變性。
架構圖
注意事項
準備工作
托管節點池提供自動化運維能力,需要配置集群維護窗口才可使用。您可以單擊托管節點池的操作列的托管配置,在托管配置頁面配置維護窗口。
托管節點池支持操作系統(OS)CVE漏洞修復,使用該功能需要開通云安全中心的旗艦版版且保證配額充足。ACK不額外收取費用。具體操作,請參見購買云安全中心、功能特性。
ACK建議您務必開啟事件中心,否則將無法接收托管節點池的告警事件。關于開啟事件中心的具體操作,請參見事件監控。
ACK建議您務必安裝ack-node-problem-detector,否則將無法檢測節點的異常情況。關于ack-node-problem-detector的具體說明,請參見ack-node-problem-detector。
使用須知
節點池升級
ACK采用替換系統盤的方式執行托管節點池的節點升級時,會刪除節點系統盤上的數據。數據盤內的數據不受影響,請勿在系統盤上存儲任何持久化數據。
排水
托管節點池在替盤升級前會執行節點下線與排水,因此會造成Pod的重啟、長連接的中斷。執行排水操作時,ACK會先嘗試通過
cordon
命令或者容器服務管理控制臺將節點設置為不可調度,然后驅逐該節點上的Pod。建議服務后端采用多副本部署在多個節點上,同時為重要應用配置PDB,以避免節點上Pod被驅逐后影響服務的整體可用性。自愈:
托管節點池會監控節點的運行狀態,如果節點超過10分鐘未上報節點狀態,或者狀態為NotReady,容器服務會嘗試通過重啟故障節點來恢復潛在的故障。因此,節點上的Pod會被重啟。
托管節點池與普通節點池的區別
ACK提供普通節點池和托管節點池。在集群和節點池運行狀態正常的情況下,您可以在節點池列表的操作列,單擊開啟托管或關閉托管,轉換節點池類型。
普通節點池:為您提供管理一組同質節點的能力,同一個節點池的節點具有相同的配置,例如規格、標簽(Label)、污點(Taint)。您可以自行運維普通節點池內的節點。
托管節點池:在普通節點池的基礎上,提供操作系統CVE漏洞自動修復能力,自動觸發故障節點修復等能力,從而實現托管節點池的自動化運維。
說明托管節點池的自動運維能力可以簡化節點運維工作,但部分復雜的節點故障可能仍需人工修復。關于節點自動恢復的更多信息,請參見開啟節點池節點故障自動恢復。
托管節點池與普通節點池具體的對比項及說明如下表所示。
對比項 | 普通節點池 | 托管節點池 |
運維能力 | 由您自行管理。 | 部分運維托管于容器服務。 |
故障修復 | 手動觸發。 | 自動檢測并觸發故障修復。支持配置是否允許重啟節點來修復故障。 |
操作系統(OS)CVE修復 | 由您手動觸發操作系統CVE修復。 | 支持自動觸發操作系統CVE漏洞修復,包括高危、中危和低危漏洞。 |
kubelet小版本升級 | 由您手動觸發kubelet升級。 | 可配置自動升級kubelet小版本。 |
containerd運行時升級 | 由您手動觸發運行時升級。 | 可配置自動升級containerd運行時。當containerd有重大操作系統CVE漏洞時,默認自動升級修復。 |
ECS系統事件自動響應 | 由您自行響應ECS系統事件。 | 支持ECS系統事件的自動響應。 目前支持的系統事件類型如下。
|