為了便於對雲上ECS節點進行分組管理和操作,ACK One註冊叢集提供節點池功能以接入雲上ECS算力。節點池是一個或一組節點的邏輯集合,允許您對節點進行統一管理和營運,例如節點升級、自動Auto Scaling等。通過建立多個節點池,您可以進一步實現資源的隔離,例如為不同類型的工作負載部署獨立的節點池,分組管理不同屬性的節點等。
節點池概念
簡單來說,您可以將節點池理解為一個配置模板,後續節點池中擴容出的節點都將使用它的配置。一個叢集中可以建立多個不同配置和類型的節點池。節點池的配置包含節點的屬性,例如節點執行個體規格、計費類型、可用性區域(vSwitch)、作業系統鏡像、CPU架構、標籤和汙點等。這些屬性可以在建立節點池時指定,也可以在建立完成後進行編輯修改。關於如何建立節點池,請參見建立與管理節點池。
您可以使用單節點池,減少管理和配置的複雜性,也可以使用多節點池,實現更精細的資源隔離和不同類型節點的混合部署管理。
單節點池 | 多節點池 |
通過一個節點池管理多個團隊或多種工作負載的計算資源,簡化操作和維護工作。單節點池可支援以下功能。
目前不支援混合不同作業系統類型和CPU架構(Arm和x86)的執行個體。 | 建立多個節點池,為不同工作負載或團隊提供獨立的計算資源,從而避免資源爭用和潛在的安全風險。適用於以下情境。
|
使用多節點池,您可以通過調度策略定義不同節點池的優先順序順序,以最佳化資源和成本管理。例如以下情境。
控制不同成本的計算資源供給(例如搶佔式執行個體、訂用帳戶執行個體等)的優先順序順序,以降低成本。
根據工作負載需求,按比例分配不同類型的執行個體,例如x86架構和Arm架構的使用比例。
節點池建立流程
節點池基礎功能
ACK One註冊叢集在節點池維度提供了多種能力,便於節點的管理。
功能項 | 說明 |
| |
| |
| |
標籤(Labels)和汙點(Taints)可用於管理和調度叢集中的資源。標籤支援對Kubernetes對象(例如節點)進行標識和分類 ;汙點可以使Pod排斥一類特定的節點,讓這些Pod不被調度到某節點上。 | |
如果不再需要某些節點,可將節點從節點池中移除。請按標準化操作移除,避免出現預期外行為。 |
節點池計費
使用節點池和節點池提供的自動化營運能力不收費,但節點池內ECS執行個體等雲資源由對應的雲產品收取費用。
關於ECS執行個體的計費說明,請參見計費概述。
如果您期望修改節點池中已有節點的付費類型,請參見隨用隨付轉訂用帳戶。修改節點池的付費類型僅對擴容的新節點生效,不會改變節點池內已有節點的付費類型。
關於Auto Scaling組的計費詳情,請參見Auto Scaling產品計費。
相關術語
首次使用節點池前,建議您瞭解節點池相關的概念術語。
伸縮組:當對節點池進行擴容和縮容時,ACK通過Auto Scaling服務下發擴容和移除節點的操作。節點池與彈性伸縮組執行個體為一一對應的關係。一個伸縮組是一個或多個ECS執行個體(Worker節點)的合集。
伸縮配置:節點池底層使用伸縮組態管理節點配置。ESS伸縮配置是Auto Scaling時ECS執行個體使用的模板。當Auto Scaling觸發彈性擴張活動後,Auto Scaling以該伸縮配置為模板自動建立ECS執行個體。
伸縮活動:節點池的每次擴縮容、添加節點、移除節點都會觸發伸縮活動。觸發伸縮活動後,所有擴容和縮容動作都交由系統自動完成,並留下相關記錄。您可以通過節點池的伸縮活動查看節點池的歷史伸縮活動記錄。
替換系統硬碟:節點池的某些操作,例如自動添加已有節點、更換容器運行時等,會通過替換節點系統硬碟(替盤升級)的方式初始化節點。該節點的執行個體屬性不發生改變,例如節點名稱、執行個體ID、IP等,但節點系統硬碟上的資料將被刪除。額外掛載到該節點上的資料盤不受影響。
ACK執行替盤時會進行節點排水操作,遵循Pod Disruption Budget(PDB)的前提下將節點上的Pod驅逐至其他可用節點。為確保服務高可用性,建議您採用多副本部署策略,將工作負載分散在多個節點上,同時為關鍵業務配置PDB,控制同時中斷的Pod數量。
原地升級:與替盤升級對應的一種升級方式,直接在原節點上更新替換所需的組件。原地升級不會替換系統硬碟,也不會重新初始化節點,原節點的資料不受影響。