全部產品
Search
文件中心

Container Service for Kubernetes:調整可使用的節點Pod數量

更新時間:Nov 22, 2024

單Worker節點支援的最大Pod數受網路外掛程式類型影響,在大部分情境下不支援變更。在Terway模式下,單節點支援的最大Pod數依賴於ECS執行個體所提供的彈性網卡數量;在Flannel模式下,單節點最大Pod數在建立叢集時指定。指定後不支援修改。Pod數量達到上限時,推薦您通過擴容節點池增加節點,提升可使用的Pod數量。

節點最大Pod數說明

Terway

節點最大容器網路Pod數

說明

更多資訊,請參見使用Terway網路外掛程式

Terway模式

單節點Pod限額

樣本值

單節點支援固定IP、獨立虛擬交換器、獨立安全性群組功能的Pod數量

共用ENI模式

ECS規格支援的ENI數量-1)×單個ENI支援的私人IP數。

(EniQuantity-1)×EniPrivateIpAddressQuantity

說明

單節點的Pod限額必須>11才能加入叢集。

以通用型執行個體規格類型系列g7的ecs.g7.4xlarge規格為例。該規格執行個體支援8個ENI,單個ENI支援30個私人IP。單節點Pod限額為(8-1)×30=210個Pod。

重要

使用節點ENI的Pod限額是由節點規格決定的固定值。修改maxPods隻影響使用hostNetwork的Pod限額。

0

共用ENI模式+Trunk ENI

ECS規格支援的總網卡數-ECS規格支援的彈性網卡數。

EniTotalQuantity-EniQuantity

獨佔ENI模式

ECS規格支援的ENI數量-1。

EniQuantity-1

說明

單節點的Pod限額必須>6才能加入叢集。

以通用型執行個體規格類型系列g7的ecs.g7.4xlarge規格為例。該規格執行個體支援8個ENI。單節點Pod限額為(8-1)=7個Pod。

ECS規格支援的ENI數量-1。

EniQuantity-1

主機網路Pod數

主機網路Pod數預設為3,不支援修改。修改後可能會導致新的Pod無法分配IP,且在節點重啟後,單節點支援的最大Pod數會被重新置為預設值。

Flannel

Flannel模式的節點最大Pod數量(節點 Pod 數量)在建立叢集時指定,叢集建立後不支援修改。

image

提升可使用的Pod數量的方案

您可以參見下文,根據您的網路外掛程式選擇合適的Pod數量提升方案。以下方案提高的是您可使用的Pod數,並不是提高了單節點支援的最大Pod數。

通過擴容節點池增加節點(推薦)

適用範圍:Terway和Flannel。

操作說明:手動或自動擴容節點池以增加可用的Pod數。具體操作,請參見擴縮容節點池節點伸縮

操作影響:業務不受影響。但是叢集規模過大可能對叢集的可用性及效能產生影響,請合理設計和使用規模化叢集。更多資訊,請參見大規模叢集使用建議

提升執行個體規格來擴容單節點Pod數

適用範圍:Terway

操作說明:通過升級Worker節點的執行個體規格來擴容單節點Pod數。具體操作,請參見升配節點的資源。但節點支援的最大Pod數與節點規格並不是直接的線性關係。單節點支援的最大Pod數依賴於ECS執行個體規格類型系列所提供的彈性網卡數量。

操作影響:執行個體規格升配後,需要重啟ECS執行個體以使配置生效,可能會導致業務的短暫中斷。升級執行個體規格前,請根據實際負載情況,判斷是否需要擴容冗餘節點用於承接業務Pod,並將需要升配的節點排水並從ACK叢集中移除。在業務低峰期完成升配後,再將該節點添加到叢集中。關於升級執行個體規格的更多介紹(例如涉及的計費)和具體操作,請參見升降配方式概述升配節點的資源;關於移除和添加已有節點的相關注意事項及具體操作步驟,請參見移除節點添加已有節點

重建叢集並重新規劃Pod網段

適用範圍:Flannel

操作說明:建立叢集,設定節點 Pod 數量的值。節點 Pod 數量的值即為單節點支援的最大Pod數。更多資訊,請參見使用Flannel網路外掛程式

操作影響:業務重建。

常見問題

Terway模式下,如何查看節點的最大容器網路Pod數?

  • 方式一:建立節點池時,在執行個體規格地區,通過Terway相容性(可支援 Pod 數量)查看某一執行個體規格支援的最大容器網路Pod數。

  • 方式二:先參考下列方式擷取計算資料,然後手動電腦型支援的Pod數。

    • 通過文檔查詢執行個體規格支援的彈性網卡數量。具體資訊,請參見執行個體規格類型系列

    • 通過OpenAPI進行查詢,通過指定已有節點的執行個體規格InstanceTypes,單擊發起調用,傳回值中EniQuantity表示執行個體規格支援的彈性網卡上限,EniPrivateIpAddressQuantity表示單個彈性網卡支援的私人IP數量。

如何查看現有節點支援的最大Pod數?

對於已建立完成的節點,您可以通過以下方式查看:

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇節點管理 > 節點

  3. 節點頁面,查看容器組的總額度,即節點支援的最大Pod數。97.png

為什麼我剛建立了一個叢集,節點的Pod數量就快達到上限了?

叢集組件會以Pod的形式存在,佔用您的節點資源。部分組件可能會採用多副本形式。如果您建立叢集配置組件時啟用的功能較多,可能會佔用節點較多的Pod數量。建議您參見提升可使用的Pod數量的方案提升可用的Pod數量。

Terway模式下,可否手動修改彈性網卡數量或Pod總額度以提升單節點Pod上限?

不能。Terway模式的節點允許建立的Pod數量依賴ECS執行個體規格所提供的彈性網卡數量。即使您手動修改了Pod數量上限,實際使用時,新建立的、超出上限的Pod仍然會因為IP不足而調度失敗,會導致叢集巡檢、叢集升級前置檢查上報相關錯誤。

如果您已經手動修改了節點最大Pod數量,推薦您移除節點然後將該節點重新添加到叢集中。相關注意事項及具體操作步驟,請參見移除節點添加已有節點

為什麼相同CPU和記憶體規格的節點,可建立的Pod數卻不一樣?

節點支援的最大Pod數跟CPU和記憶體並不是直接的線性關係。Terway網路下,單節點支援的最大Pod數依賴於ECS執行個體規格類型系列所提供的彈性網卡數量。Flannel網路下,單節點預設支援的最大Pod數為256,個別叢集類型支援升配。