如果您希望將節點進行分組納管,同時降低節點的營運負擔,例如作業系統(OS)CVE漏洞自動修複、kubelet自動升級、節點故障時重啟節點等,您可以啟用託管節點池。託管節點池是ACK推出的自動化營運型節點池,在普通節點池的基礎上支援多種自訂營運能力。
託管節點池介紹
使用情境
只關註上層應用開發,不希望花費過多精力營運Worker節點。
對底層節點的變更不敏感,業務Pod對遷移有較高的容忍度,更加關注業務的彈性而非不可變性。
架構圖
注意事項
準備工作
託管節點池提供自動化營運能力,需要配置叢集維護視窗才可使用。您可以單擊託管節點池的操作列的託管配置,在託管配置頁面配置維護視窗。
託管節點池支援作業系統(OS)CVE漏洞修複,使用該功能需要開通Security Center的企業版或以上版本且保證配額充足。ACK不額外收取費用。具體操作,請參見購買Security Center、功能特性。
ACK建議您務必開啟事件中心,否則將無法接收託管節點池的警示事件。關於開啟事件中心的具體操作,請參見事件監控。
ACK建議您務必安裝ack-node-problem-detector,否則將無法檢測節點的異常情況。關於ack-node-problem-detector的具體說明,請參見ack-node-problem-detector。
使用須知
節點池升級
ACK採用替換系統硬碟的方式執行託管節點池的節點升級時,會刪除節點系統硬碟上的資料。資料盤內的資料不受影響,請勿在系統硬碟上儲存任何持久化資料。
排水
託管節點池在替盤升級前會執行節點下線與排水,因此會造成Pod的重啟、長串連的中斷。執行排水操作時,ACK會先嘗試通過
cordon
命令或者Container Service管理主控台將節點設定為不可調度,然後驅逐該節點上的Pod。如果逾時30分鐘後,Pod仍未被驅逐,Container Service將強制執行替盤操作。自愈:
託管節點池會監控節點的運行狀態,如果節點超過10分鐘未上報節點狀態,或者狀態為NotReady,Container Service會嘗試通過重啟故障節點來恢複潛在的故障。因此,節點上的Pod會被重啟。
託管節點池與普通節點池的區別
ACK提供普通節點池和託管節點池。在叢集和節點池運行狀態正常的情況下,您可以在節點池列表的操作列,單擊開啟託管或關閉託管,轉換節點池類型。
普通節點池:為您提供管理一組同質節點的能力,同一個節點池的節點具有相同的配置,例如規格、標籤(Label)、汙點(Taint)。您可以自行營運普通節點池內的節點。
託管節點池:在普通節點池的基礎上,提供作業系統CVE漏洞自動修複能力,自動觸發故障節點修複等能力,從而實現託管節點池的自動化營運。
說明託管節點池的自動營運能力可以簡化節點營運工作,但部分複雜的節點故障可能仍需人工修複。關於節點自動回復的更多資訊,請參見託管節點池節點自動回復。
託管節點池與普通節點池具體的對比項及說明如下表所示。
對比項 | 普通節點池 | 託管節點池 |
營運能力 | 由您自行管理。 | 部分營運託管於Container Service。 |
損毀修復 | 手動觸發。 | 自動檢測並觸發損毀修復。支援配置是否允許重啟節點來修複故障。 |
作業系統(OS)CVE修複 | 由您手動觸發作業系統CVE修複。 | 支援自動觸發作業系統CVE漏洞修複,包括高危、中危和低危漏洞。 |
kubelet小版本升級 | 由您手動觸發kubelet升級。 | 可配置自動升級kubelet小版本。 |
containerd運行時升級 | 由您手動觸發運行時升級。 | 可配置自動升級containerd運行時。當containerd有重大作業系統CVE漏洞時,預設自動升級修複。 |
ContainerOS ImageId 更新 | 不支援。 | 對於ContainerOS類型的鏡像,自動更新節點池鏡像ID到最新版本,讓新擴容的節點作業系統鏡像保持最新。 |