為了便于對節點進行分組管理和操作,ACK提供節點池功能。節點池是一個或一組節點的邏輯集合,允許您對節點進行統一管理和運維,例如節點升級、自動彈性伸縮等。通過創建多個節點池,您可以進一步實現資源的隔離,例如為不同類型的工作負載部署獨立的節點池,分組管理不同屬性的節點等。
節點池概念
為了幫助您高效管理集群中的節點,ACK引入節點池的概念。節點池是集群中一個或一組節點的邏輯集合,一個集群中可以創建多個不同配置和類型的節點池。節點池的配置包含節點的屬性,例如節點規格、可用區、標簽、污點等。這些屬性可以在創建節點池時指定,也可以在創建完成后進行編輯修改。關于創建節點池,請參見創建節點池。關于編輯節點池,請參見編輯節點池。
通過節點池,您可以在同一個集群中實現不同類型的節點混合部署管理。
同一個集群中,允許創建不同操作系統鏡像(ContainerOS、Alibaba Cloud Linux、Windows等)的節點池。
同一個集群中,允許創建不同容器運行時(containerd、Docker、安全沙箱)的節點池。
同一個集群中,允許創建不同計費類型(按量付費、包年包月、搶占式實例)的節點池。
同一個集群中,允許創建多個開啟自動彈性伸縮的節點池。
節點池與托管節點池介紹
節點池類型
ACK節點池類型分為(非托管)節點池和托管節點池。
節點池類型 | 描述 |
節點池 | 節點池是集群中具有相同配置的一組節點,節點池可以包含一個或多個節點。節點池與彈性伸縮組實例一比一對應。當對節點池進行擴容和縮容時,ACK通過彈性伸縮服務下發擴容和移除節點的操作。您可以根據自己的需要創建和管理多個節點池。 說明 由于默認節點池中安裝了部分系統組件,彈性伸縮時可能會造成集群功能的不穩定。如果您需要實現彈性伸縮功能,建議您另建節點池。 |
托管節點池 | 托管節點池是ACK全新推出的自動化運維型節點池,可以自動完成部分節點運維操作,如CVE更新、部分故障修復等,從而減輕您的節點運維負擔。 更多信息,請參見托管節點池概述。 |
功能對比
對比項 | 普通節點池 | 托管節點池 |
運維能力 | 由您自行管理。 | 部分運維托管于ACK集群。 |
運維窗口 | 無需設置運維窗口 。 | 需要設置運維窗口。托管節點池會在您設定的運維窗口內執行自動化的運維操作,如CVE修復。 |
故障修復 | 手動。 | 自動。 說明 托管節點池的自動化運維能力可以幫助您簡化節點運維工作,部分復雜的節點故障可能仍需要人工修復。關于節點自動恢復的更多信息,請參見托管節點池節點自動恢復。 |
CVE修復 | 由您手動觸發CVE修復。 | 自動觸發CVE修復。 說明 CVE修復是云安全中心提供的高級功能。若需使用該功能,您需要先購買云安全中心的企業版或以上版本,ACK不額外收取費用。更多信息,請參見漏洞修復。 |
節點組件升級 | 手動。 | 自動。 |
kubelet小版本升級 | 手動。 | 自動。 |
ContainerOS極速擴容 | 不支持。 | 支持。 千節點擴容P90節點就緒僅需53s,相較于CentOS千節點擴容P90節點的330s有較大優勢。 說明 ContainerOS是為容器場景垂直優化的阿里云官方操作系統,完全兼容現有的Kubernetes生態。更多信息,請參見ContainerOS概述。 |
操作系統 | 支持ContainerOS、Alibaba Cloud Linux、Red Hat、Ubuntu、Windows等操作系統。 | 支持ContainerOS、Alibaba Cloud Linux、Red Hat、Ubuntu等操作系統。 |
關于ACK集群支持的操作系統鏡像介紹及鏡像的使用限制,請參見操作系統鏡像概述。 |
在刪除節點池前,您需清空節點池內所有節點。
只能在創建節點池的時候開啟自動彈性伸縮功能。開啟了自動彈性伸縮功能的節點池有以下特性:
不支持手動擴容。
付費類型支持搶占式實例。
彈性模式上除了普通CPU實例,還支持GPU實例和GPU共享實例。
允許您關閉彈性伸縮配置,將彈性節點池切換為節點池 (反向操作不允許)。
更多信息,請參見啟用節點自動伸縮。
節點池功能
節點池目前支持以下功能。
功能 | 說明 |
創建節點池,需要指定節點池的配置。 | |
編輯節點池 | 修改節點池的配置。 重要 編輯節點池時,如無特殊說明(如同步更新存量節點標簽及污點),不會修改節點池已有存量節點的配置,僅作用于新增節點。節點池的運維操作,例如節點池升級、節點池節點恢復、節點池CVE修復、節點池自定義Kubelet配置,會修改存量節點的配置。 |
調整節點池內節點的數量。
| |
可添加不屬于任何集群的已有節點到節點池內,對添加的節點具有一定限制。關于添加已有節點的限制,請參見使用限制。 | |
移除節點池內指定的一個或多個節點,移除后節點將不再屬于集群和節點池。您可以在移除節點前選擇是否排水以及是否釋放實例。 | |
升級節點池內全部節點的系統鏡像版本、運行時版本和Kubelet版本。為了減少對集群工作負載的影響,可以指定分批執行策略。升級后,新節點也將使用新的節點池配置。 說明 托管節點池可以在運維窗口自動完成節點池升級。 | |
節點池節點恢復 | 恢復節點池中的異常節點,使節點保持正常運行狀態。采用逐個恢復的策略。 說明 托管節點池可以在節點異常時自動完成節點池節點恢復。 |
修復節點池中節點的CVE漏洞。為了減少對集群工作負載的影響,可以指定分批執行策略。 說明 托管節點池可以在運維窗口自動完成節點池CVE修復。 | |
修改節點池中節點的Kubelet配置,新Kubelet配置也將應用于節點池新增的節點。 | |
彈性伸縮可以根據業務負載和策略,按需彈出普通實例、GPU實例、競價付費實例,支持多可用區、多實例規格、多種伸縮模式,滿足不同的節點伸縮場景,進行成本優化。 |
節點池計費
節點池本身不收費,但節點池使用的ECS實例等云資源由對應的云產品計費。
關于云服務器計費詳情,請參見云服務器ECS產品計費。
關于彈性伸縮組的計費詳情,請參見彈性伸縮產品計費。
節點池相關術語
術語 | 描述 |
伸縮組 | 節點池底層使用伸縮組管理節點,一個伸縮組包含ECS實例集合,這些實例被視為邏輯組以用于自動擴展和管理用途。節點池基于彈性伸縮組來進行節點管理,節點池中的資源(包括ECS實例和彈性伸縮組)在您的阿里云賬戶中運行。更多信息,請參見伸縮組概述。 重要 請勿直接通過彈性伸縮組進行配置及節點操作,請通過容器服務節點池進行節點配置及管理,否則將導致節點池部分功能不正常運作。 |
伸縮配置 | 節點池底層使用伸縮配置管理節點配置,ESS伸縮配置為彈性伸縮時ECS實例使用的模板。當彈性伸縮觸發彈性擴張活動后,彈性伸縮以該伸縮配置為模板自動創建ECS實例。 重要 請勿直接通過ESS控制臺、OpenAPI直接修改伸縮配置,請通過容器服務節點池進行節點配置及管理,否則將導致節點池部分功能異常。 |
伸縮活動 | 節點池的每次擴縮容、添加節點、移除節點都會觸發伸縮活動。觸發伸縮活動后,所有擴張和收縮動作都交由系統自動完成,并留下相關記錄,您可以通過節點池的伸縮活動查看節點池的歷史伸縮活動記錄。 |
替換系統盤 | 節點池的某些操作,例如自動添加已有節點、鏡像升級等,會通過替換節點系統盤的方式初始化節點。該節點的IaaS屬性不發生改變,如節點名稱、實例ID、IP等,但會刪除節點系統盤上的數據,執行節點的初始化流程。額外掛載到該節點上的數據盤不受影響。 重要 請勿在節點系統盤中存儲持久化數據,建議保存在數據盤中。 |
原地升級 | 與替換系統盤相對應的一種升級方式,是直接在原節點上更新替換所需組件。原地升級不會替換系統盤,也不會重新初始化節點,因此不會破壞原節點的數據。 |
相關文檔
關于創建節點池的相關配置項說明,請參見創建節點池。
您可以通過節點池擴縮容,擴縮容一個或多個具有相同配置的ECS節點,請參見擴縮容節點池。
您可以通過添加已有節點的方式,將您已有的節點納管到節點池中,請參見添加已有節點。
如需將集群中的節點移出集群,請參見移除節點了解具體操作及注意事項。
節點池的運維操作,例如升級節點池、節點自動恢復、修復節點池OS CVE漏洞等,請參見節點池運維。
節點池相關的最佳實踐,例如基于部署集將節點分散部署在不同的物理服務器上以實現高可用、基于搶占式實例創建節點池等,請參見節點與節點池最佳實踐。
1.24版本的集群將不再支持使用Docker作為內置容器運行時,請遷移為containerd,請參見將節點容器運行時從Docker遷移到containerd。
如果在使用節點或節點池的過程中遇到問題,可先參見節點與節點池FAQ進行自排查。
如需指定應用Pod使用的節點池,請參見調度應用至指定節點池。