全部產品
Search
文件中心

Container Service for Kubernetes:節點池概述

更新時間:Nov 06, 2024

為了便於對節點進行分組管理和操作,ACK提供節點池功能。節點池是一個或一組節點的邏輯集合,允許您對節點進行統一管理和營運,例如節點升級、自動Auto Scaling等。通過建立多個節點池,您可以進一步實現資源的隔離,例如為不同類型的工作負載部署獨立的節點池,分組管理不同屬性的節點等。

節點池概念

為了協助您高效管理叢集中的節點,ACK引入節點池的概念。節點池是叢集中一個或一組節點的邏輯集合,一個叢集中可以建立多個不同配置和類型的節點池。節點池的配置包含節點的屬性,例如節點規格、可用性區域、標籤、汙點等。這些屬性可以在建立節點池時指定,也可以在建立完成後進行編輯修改。關於建立節點池,請參見建立節點池。關於編輯節點池,請參見編輯節點池

通過節點池,您可以在同一個叢集中實現不同類型的節點混合部署管理。

  • 同一個叢集中,允許建立不同作業系統鏡像(ContainerOS、Alibaba Cloud Linux、Windows等)的節點池。

  • 同一個叢集中,允許建立不同容器運行時(containerd、Docker、安全沙箱)的節點池。

  • 同一個叢集中,允許建立不同計費類型(隨用隨付、訂用帳戶、搶佔式執行個體)的節點池。

  • 同一個叢集中,允許建立多個開啟自動Auto Scaling的節點池。

節點池與託管節點池介紹

節點池類型

ACK節點池類型分為(非託管)節點池和託管節點池。

節點池類型

描述

節點池

節點池是叢集中具有相同配置的一組節點,節點池可以包含一個或多個節點。節點池與Auto Scaling組執行個體一比一對應。當對節點池進行擴容和縮容時,ACK通過Auto Scaling服務下發擴容和移除節點的操作。您可以根據自己的需要建立和管理多個節點池。

說明

由於預設節點池中安裝了部分系統組件,Auto Scaling時可能會造成叢集功能的不穩定。如果您需要實現Auto Scaling功能,建議您另建節點池。

託管節點池

託管節點池是ACK全新推出的自動化營運型節點池,可以自動完成部分節點營運操作,如CVE更新、部分損毀修復等,從而減輕您的節點營運負擔。

更多資訊,請參見託管節點池概述

功能對比

對比項

普通節點池

託管節點池

營運能力

由您自行管理。

部分營運託管於ACK叢集。

營運視窗

無需設定營運視窗 。

需要設定營運視窗。託管節點池會在您設定的營運視窗內執行自動化的營運操作,如CVE修複。

損毀修復

手動。

自動。

說明

託管節點池的自動化營運能力可以協助您簡化節點營運工作,部分複雜的節點故障可能仍需要人工修複。關於節點自動回復的更多資訊,請參見託管節點池節點自動回復

CVE修複

由您手動觸發CVE修複。

自動觸發CVE修複。

說明

CVE修複是Security Center提供的進階功能。若需使用該功能,您需要先購買Security Center的企業版或以上版本,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叢集支援的作業系統鏡像介紹及鏡像的使用限制,請參見作業系統鏡像概述

說明
  • 在刪除節點池前,您需清空節點池內所有節點。

  • 只能在建立節點池的時候開啟自動Auto Scaling功能。開啟了自動Auto Scaling功能的節點池有以下特性:

    • 不支援手動擴容。

    • 付費類型支援搶佔式執行個體。

    • 彈性模式上除了普通CPU執行個體,還支援GPU執行個體和GPU共用執行個體。

    • 允許您關閉Auto Scaling配置,將彈性節點池切換為節點池 (反向操作不允許)。

    更多資訊,請參見啟用節點自動調整

節點池功能

節點池目前支援以下功能。

功能

說明

建立節點池

建立節點池,需要指定節點池的配置。

編輯節點池

修改節點池的配置。

重要

編輯節點池時,如無特殊說明(如同步更新存量節點標籤及汙點),不會修改節點池已有存量節點的配置,僅作用於新增節點。節點池的營運操作,例如節點池升級、節點池節點恢複、節點池CVE修複、節點池自訂Kubelet配置,會修改存量節點的配置。

擴縮容節點池

調整節點池內節點的數量。

  • 增加節點的數量會根據節點池的配置彈出節點。

  • 減少節點的數量會釋放節點池內的節點,優先釋放建立時間最新的節點。

添加已有節點

可添加不屬於任何叢集的已有節點到節點池內,對添加的節點具有一定限制。關於添加已有節點的限制,請參見使用限制

移除節點

移除節點池內指定的一個或多個節點,移除後節點將不再屬於叢集和節點池。您可以在移除節點前選擇是否排水以及是否釋放執行個體。

節點池升級

升級節點池內全部節點的系統鏡像版本、運行時版本和Kubelet版本。為了減少對叢集工作負載的影響,可以指定分批執行策略。升級後,新節點也將使用新的節點池配置。

說明

託管節點池可以在營運視窗自動完成節點池升級。

節點池節點恢複

恢複節點池中的異常節點,使節點保持正常運行狀態。採用逐個恢複的策略。

說明

託管節點池可以在節點異常時自動完成節點池節點恢複。

節點池CVE修複

修複節點池中節點的CVE漏洞。為了減少對叢集工作負載的影響,可以指定分批執行策略。

說明

託管節點池可以在營運視窗自動完成節點池CVE修複。

自訂節點池kubelet配置

修改節點池中節點的Kubelet配置,新Kubelet配置也將應用於節點池新增的節點。

啟用節點自動調整

Auto Scaling可以根據業務負載和策略,按需彈出普通執行個體、GPU執行個體、競價付費執行個體,支援多可用性區域、多執行個體規格、多種伸縮模式,滿足不同的節點伸縮情境,進行成本最佳化。

節點池計費

節點池本身不收費,但節點池使用的ECS執行個體等雲資源由對應的雲產品計費。

說明

如果您期望修改節點池中已有節點的付費類型,請登入ECS管理主控台修改。具體操作,請參見隨用隨付轉訂用帳戶

節點池相關術語

術語

描述

伸縮組

節點池底層使用伸縮組管理節點,一個伸縮組包含ECS執行個體集合,這些執行個體被視為邏輯組以用於自動擴充和管理用途。節點池基於Auto Scaling組來進行節點管理,節點池中的資源(包括ECS執行個體和Auto Scaling組)在您的阿里雲賬戶中運行。更多資訊,請參見伸縮組概述

重要

請勿直接通過Auto Scaling組進行配置及節點操作,請通過Container Service節點池進行節點配置及管理,否則將導致節點池部分功能不正常運作。

伸縮配置

節點池底層使用伸縮組態管理節點配置,ESS伸縮配置為Auto Scaling時ECS執行個體使用的模板。當Auto Scaling觸發彈性擴張活動後,Auto Scaling以該伸縮配置為模板自動建立ECS執行個體。

重要

請勿直接通過ESS控制台、OpenAPI直接修改伸縮配置,請通過Container Service節點池進行節點配置及管理,否則將導致節點池部分功能異常。

伸縮活動

節點池的每次擴縮容、添加節點、移除節點都會觸發伸縮活動。觸發伸縮活動後,所有擴張和收縮動作都交由系統自動完成,並留下相關記錄,您可以通過節點池的伸縮活動查看節點池的歷史伸縮活動記錄。

替換系統硬碟

節點池的某些操作,例如自動添加已有節點、鏡像升級等,會通過替換節點系統硬碟的方式初始化節點。該節點的IaaS屬性不發生改變,如節點名稱、執行個體ID、IP等,但會刪除節點系統硬碟上的資料,執行節點的初始化流程。額外掛載到該節點上的資料盤不受影響。

重要

請勿在節點系統硬碟中儲存持久化資料,建議儲存在資料盤中。

原地升級

與替換系統硬碟相對應的一種升級方式,是直接在原節點上更新替換所需組件。原地升級不會替換系統硬碟,也不會重新初始化節點,因此不會破壞原節點的資料。

相關文檔

  • 關於建立節點池的相關配置項說明,請參見建立節點池

  • 您可以通過節點池擴縮容,擴縮容一個或多個具有相同配置的ECS節點,請參見擴縮容節點池

  • 您可以通過添加已有節點的方式,將您已有的節點納管到節點池中,請參見添加已有節點

  • 如需將叢集中的節點移出叢集,請參見移除節點瞭解具體操作及注意事項。

  • 節點池的營運操作,例如升級節點池、節點自動回復、修複節點池OS CVE漏洞等,請參見節點池營運

  • 節點池相關的最佳實務,例如基於部署集將節點分散部署在不同的物理伺服器上以實現高可用、基於搶佔式執行個體建立節點池等,請參見節點與節點池最佳實務

  • 1.24版本的叢集將不再支援使用Docker作為內建容器運行時,請遷移為containerd,請參見將節點容器運行時從Docker遷移到containerd

  • 如果在使用節點或節點池的過程中遇到問題,可先參見節點與節點池FAQ進行自排查。

  • 如需指定應用Pod使用的節點池,請參見調度應用至指定節點池