全部產品
Search
文件中心

Container Service for Kubernetes:將已有 ECS 執行個體添加至節點池

更新時間:Nov 13, 2025

您可將已購買的 ECS 執行個體作為 Worker 節點添加到叢集中,或將已移除的 Worker 節點重新加入到節點池。此操作可以在不中斷叢集現有業務的前提下,實現計算資源的快速複用。

ACK 提供自動和手動兩種添加方式。添加後執行個體的付費類型和規格保持不變。

對比項

自動添加

手動添加

作業系統重設

根據節點池當前配置,重設並初始化執行個體的作業系統。

  • 原系統硬碟會被釋放,資料會丟失。

  • 系統硬碟的手動快照會保留,自動快照的保留取決於是否配置了自動快照隨雲端硬碟釋放

    可登入ECS管理主控台,參見設定自動快照隨雲端硬碟釋放進行配置。
  • 原資料盤不會被釋放,其中資料不受影響,但磁碟ID會發生變更。

保留執行個體原有作業系統,提供更高靈活性。

適用情境

期望執行個體與節點池配置保持一致,實現標準化管理。

需要保留執行個體現有作業系統或特定配置。

使用限制

操作前,請確認當前環境和執行個體滿足以下條件。

分類

限制項

說明

執行個體與節點池

叢集節點配額

叢集的總節點數不能超過配額上限。如需提升上限,請前往配額中心

ACK託管叢集基礎版預設節點配額為10個。

執行個體歸屬

執行個體與叢集處於同一帳號、同一地區、同一 VPC 下。否則請遷移執行個體,或者重新建立符合要求的執行個體或叢集。

不支援添加VPC對等串連另一端的 ECS 執行個體。

叢集歸屬

不支援添加已屬於其他 ACK 叢集的執行個體。請先從原叢集移除節點,再添加到新叢集。

Auto Scaling組(ESS)歸屬

不支援添加已歸屬於其他伸縮組的執行個體,需從伸縮組中手動移出後重試。

節點池類型

作業系統

  • 作業系統不支援啟用Swap。

  • 手動添加時,不支援添加作業系統為Windows和ContainerOS的執行個體。

執行個體類型

網路

API Server訪問

執行個體IP地址必須在API Server訪問白名單中,否則無法與控制面通訊。詳情請參見配置API Server的存取控制策略

安全性群組

  • 類型一致:執行個體的安全性群組類型(普通或企業安全性群組)必須與節點池一致。

  • 規則相容:執行個體安全性群組需允許訪問 API Server 內網地址和 6443 連接埠,且規則不能與叢集及節點池的安全性群組規則衝突。

    可在叢集資訊頁面的基本資料頁簽查看API Server 內網地址。
  • 配額上限:執行個體加入的安全性群組數量不能超過安全性群組配額

如需更換執行個體安全性群組類型或提前將執行個體加入到節點池安全性群組中,請參見為執行個體(主網卡)關聯安全性群組;如需提升安全性群組配額上限,請參見查看或提升Elastic Compute Service配額

Terway-最大Pod數

執行個體支援的最大Pod數必須滿足以下條件:

不同ENI模式支援的最大Pod數取決於執行個體支援的最大ENI數量。計算方式,請參見節點Pod限額計算方法

如不滿足,請升降配節點資源或重新購買執行個體

Terway-vSwitch配置

執行個體與節點池處於不同可用性區域時,需同步更新Terway的vSwitch配置。否則,Terway將從節點主網卡所屬的vSwitch分配Pod IP,可能導致Pod IP分配異常。具體操作,請參見修改Pod虛擬交換器

Terway-ENI

添加時,執行個體已綁定的ENI會被保留,Pod IP將從這些ENI關聯的vSwitch上分配。請確保執行個體只有一個主網卡。

如有Pod IP不屬於已配置的vSwitch,請在叢集中移除節點,刪除除主網卡外的輔助網卡,再重新加入叢集。

Terway-Worker RAM 角色

待添加執行個體需已綁定節點池的Worker RAM角色,避免因許可權問題無法正確計算節點最大可用Pod數(MaxPod)。

可在節點池頁面單擊節點池名稱,在基本資料頁簽下查看節點池的Worker RAM角色。可參見為ECS執行個體授予RAM角色完成RAM角色的授權。

Terway-IPv6雙棧

叢集開啟IPv6雙棧時,需為執行個體主網卡分配一個IPv6地址,請參見IPv6通訊

Flannel

叢集VPC的系統路由表自訂路由條目數量不能超過路由表配額。如需調整,請前往配額中心

注意事項

  • 資料備份:操作前,建議為執行個體的系統硬碟和資料盤建立快照備份,以免資料丟失。

    為確保快照額度充足,建議提前清理無需使用的手動快照和自動快照,以便順利完成快照建立。

  • 執行個體釋放和計費:針對未開啟期望節點數的節點池,添加到節點池的執行個體不會隨叢集或節點池的刪除而釋放,需手動移除節點。請關注ECS計費狀態,避免產生額外計費。

操作步驟

耗時:節點添加過程涉及系統硬碟替換(僅自動添加涉及)和節點初始化,耗時約為5分鐘。實際可能受網路狀況、作業系統大小等因素影響。

添加已有節點並不影響叢集存量節點和應用的運行。為避免相容性問題,不建議將已建立服務的ECS執行個體初始化為Worker節點。

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

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

  3. 節點池頁面,單擊目標節點池右側操作列下的image,然後單擊添加已有節點

    如果雲端服務器列表中無目標ECS執行個體,表明ECS執行個體不滿足添加到叢集的條件。可勾選顯示停用執行個體,查看停用ECS執行個體及原因。詳細原因請參見上文的使用限制注意事項
  4. 仔細閱讀頁面注意事項,然後選擇節點添加方式。

手動添加節點

此方式需擷取安裝命令,登入到對應的執行個體上進行安裝。每次只能添加一個ECS執行個體。

  1. 選擇添加方式手動添加,在已有雲端服務器列表選擇待添加的ECS執行個體,然後單擊下一步

  2. 填寫執行個體資訊頁面,按照頁面提示確認叢集、執行個體資訊,並配置資料盤和執行個體名稱,然後單擊下一步,按照頁面提示完成執行個體的添加。

    配置項

    說明

    資料盤掛載

    是否將容器和鏡像資料存放區在資料盤,以實現系統硬碟與資料盤分離,提升穩定性。

    • 如果ECS已掛載資料盤,且最後一塊資料盤的檔案系統未初始化,ACK會自動將最後一塊資料盤格式化為ext4檔案系統,專用於存放/var/lib/containerd或/var/lib/docker(容器運行時預設資料目錄),以及/var/lib/kubelet(kubelet組件預設資料目錄)。

      重要
      • 被格式化的資料盤內原有資料將會丟失,建議提前建立快照備份資料。

      • 如需將容器和鏡像儲存在資料盤,檔案系統僅支援ext4和xfs。

    • 如果ECS未掛載資料盤,無論是否勾選,ACK都不會自動掛載新資料盤。

    保留執行個體名稱

    • 開啟:使用執行個體名稱作為節點名稱。

    • 不開啟:ACK會按照自訂節點名稱指定的規則來重新命名節點。

  3. 添加完成頁面,複製ACK自動產生的節點接入命令,供後續步驟使用,然後單擊完成

  4. 登入ECS管理主控台,單擊左側導覽列中的執行個體與鏡像 > 執行個體,選擇叢集所在地區,選擇目標執行個體。

  5. 單擊目標執行個體對應的遠端連線,選擇遠端連線方式後進入ECS遠端連線介面。

  6. 根據頁面指引,輸入並執行步驟3複製的指令碼,以將執行個體自動設定並加入叢集。

    指令碼執行成功後,頁面將提示節點添加成功。可在節點列表等待節點初始化完成,直至轉為就緒狀態。

    image

自動添加節點

您可以在控制台介面完成執行個體的自動添加。

  1. 選擇添加方式自動添加,在已有雲端服務器的列表中,選擇所需的ECS雲端服務器,然後單擊下一步

  2. 填寫執行個體資訊頁面,按照頁面提示確認叢集、執行個體資訊,並配置資料盤和執行個體名稱,然後單擊下一步

    配置項

    說明

    資料盤掛載

    是否將容器和鏡像資料存放區在資料盤,以實現系統硬碟與資料盤分離,提升穩定性。

    • 如果ECS已掛載資料盤,且最後一塊資料盤的檔案系統未初始化,ACK會自動將最後一塊資料盤格式化為ext4檔案系統,專用於存放/var/lib/containerd或/var/lib/docker(容器運行時預設資料目錄),以及/var/lib/kubelet(kubelet組件預設資料目錄)。

      重要
      • 被格式化的資料盤內原有資料將會丟失,建議提前建立快照備份資料。

      • 如需將容器和鏡像儲存在資料盤,檔案系統僅支援ext4和xfs。

    • 如果ECS未掛載資料盤,無論是否勾選,ACK都不會自動掛載新資料盤。

    登入方式及密碼

    當節點池的登入方式配置為設定密碼時,請重新設定執行個體密碼。

    保留執行個體名稱

    • 開啟:使用執行個體名稱作為節點名稱。

    • 不開啟:ACK會按照自訂節點名稱指定的規則來重新命名節點。

  3. 在彈出的對話方塊,仔細閱讀注意事項,然後單擊確定

    添加後,可在節點列表等待節點初始化完成,直至轉為就緒狀態。

常見問題

添加已有節點時,是否影響叢集存量業務的運行?

添加已有節點,無論是手動添加還是自動添加,都不會影響叢集現有業務的運行。

ECS執行個體加入叢集後,後續ECS升降配是否會對叢集業務產生影響?

ECS升降配通常包含修改執行個體規格、修改公網頻寬計費方式、修改公網頻寬、修改資料盤計費方式等,詳情請參見升降配執行個體概述。不同的升降配方式對於ECS執行個體的影響不同。

  • 無需重啟的升降配操作:需根據實際業務情況判斷對業務的影響。

  • 需要重啟ECS執行個體的升降配操作:執行個體規格升降配等操作會給業務帶來有損變更。進行相關操作(升降配節點資源)前,建議先根據實際負載情況,判斷是否需要擴容冗餘節點用於承接業務Pod,並將需要升降配的節點排水並移除出伸縮組和ACK叢集。具體操作,請參見移除節點

    升降配完成後,再重新參見本文將節點添加回叢集。

我可以將不同規格的已有節點添加到ACK叢集中嗎?

可以。ACK允許在同一個節點池中管理多種執行個體規格的節點,避免因執行個體規格不可用或庫存不足導致節點池彈出節點失敗。添加ECS執行個體前,您需要確保該執行個體規格已被包含在節點池的規格列表中。流程如下。

  1. 編輯或建立節點池,配置所需的節點規格,請參見建立和管理節點池

  2. 參見移除節點完成目標節點的移除和排水(請勿同時釋放ECS執行個體)。

  3. 參見本文的使用限制操作步驟,將不同規格的ECS執行個體添加到節點池中。

如何跨ACK叢集移動節點?

ACK不支援直接跨叢集移動節點,但您可以通過添加已有節點的方式來完成。流程如下。

  1. 參見移除節點完成目標節點的移除和排水(請勿同時釋放ECS執行個體)。

  2. 參見本文的使用限制操作步驟,將目標ECS執行個體添加到節點池中。

ECS執行個體使用了ACK已經EOL的作業系統,還能加入到節點池中嗎?

  • 手動添加:可以將運行了不再受支援的作業系統的已有執行個體手動添加到節點池。但需確保該執行個體的作業系統版本與當前叢集版本相容,詳情請參見作業系統

    例如,CentOS 7和Alibaba Cloud Linux 2僅支援在1.30及以下版本的叢集中使用。
  • 自動添加:可以。ACK會使用節點池配置中指定的作業系統鏡像來初始化該執行個體。

添加已有節點時,節點自訂的User Data會被節點池的User Data覆蓋嗎?

原有執行個體的User Data是否會被覆蓋取決於節點添加方式。

  • 自動添加:ACK會初始化系統硬碟,原執行個體的User Data會被覆蓋,預設使用節點池的User Data配置。

  • 手動添加:原執行個體的User Data不會被覆蓋。加入節點池後仍然使用原執行個體的User Data。

添加已有節點後報錯,提示timeout,怎麼辦?

請排查節點與API Server CLB的網路是否可以連通,請先排查安全性群組是否符合要求。添加已有節點時安全性群組的使用限制,請參見上文使用限制。關於網路不通的其他問題,請參見網路管理FAQ

添加已有節點後,節點池的期望節點數會自動變化嗎?

添加已有節點後,期望節點數會自動增加添加節點的數量。例如,節點池配置的期望節點數為5,此時通過添加已有節點的方式在節點池中增加了1台ECS執行個體,那麼節點池的期望節點數會自動變為6。

相關文檔