如果購買ECS實例后需將該云服務器添加到ACK集群中作為Worker節點,或移除Worker節點后需將節點實例重新加入節點池,您可以在容器服務管理控制臺自動添加或手動添加節點。添加前,請仔細閱讀使用限制、注意事項等。
前提條件
使用限制
實例規格限制
限制項 | 說明 | 推薦解決方案 |
神龍裸金屬GPU實例 | 神龍裸金屬GPU實例(ECS規格族為ebmgn7、ebmgn7e)不支持自動MIG清理。因此,ACK添加該類型的節點時會重置已有的MIG設置。由于重置時間不定,可能會出現重置時間過長導致自動添加節點失敗。 | 排查失敗原因,請參見裸金屬實例節點添加失敗怎么辦?。 |
配額限制
限制項 | 說明 | 推薦解決方案 |
節點配額 | 需確保您的集群節點配額充足。關于ACK集群的配額限制,請參見配額與限制。 | 如需添加更多節點,前往配額中心調整。 |
ECS實例限制
限制項 | 說明 | 推薦解決方案 |
所屬賬號、地域、VPC | 僅支持添加同一賬號下的ECS實例,且添加的ECS實例必須與集群在同一地域、同一VPC下。 | 重新創建符合要求的ECS實例或集群。 |
所屬集群 | 不支持添加已屬于其他集群的ECS實例。 | 如ECS實例已屬于其他集群,請先將該節點移除出舊集群,再將節點添加到目標集群中。移除方式,請參見移除節點。 |
網絡限制
限制項 | 說明 | 推薦解決方案 |
Terway網絡插件 | 對待添加的ECS實例機型支持的最大Pod數有如下限制。
需要注意的是,不同彈性網卡模式支持的最大Pod數取決于該云服務器機型所支持的最大的彈性網卡(ENI)數。關于如何計算不同彈性網卡模式支持的最大Pod數,請參見使用Terway網絡插件;關于如何查看實例規格支持的Pod數量,請參見使用Terway網絡插件。 | |
對彈性網卡有如下限制。 | ||
當添加的節點包含新增可用區時,您需要為Terway更新vSwitch配置,否則Pod IP將從節點主網卡對應的vSwitch分配。 | ||
當添加已有節點到節點池時,已有節點上已經綁定的彈性網卡(ENI)會繼續保留,Pod IP會從已經綁定的彈性網卡所關聯的vSwitch上分配。請確保添加的節點中彈性網卡只包含一個主網卡。 | 如果有Pod IP不屬于您配置的vSwitch,請在集群中移除節點,刪除除主網卡外的輔助網卡,再重新加入集群。 | |
當添加已有節點到節點池時,需確保目標ECS實例已綁定集群RAM Role,避免因權限問題無法正確計算MaxPod(節點最大可用Pod數),繼而導致彈性網卡數量計算錯誤。 | ||
Flannel網絡插件 | 對集群VPC下的系統路由表自定義路由條目數量存在限制,不能超過每個路由表中可保有的自定義路由條目配額,自定義路由條目的相關信息,請參見路由表概述。 | 在配額中心調整。 |
IPv6雙棧 | 需要為ECS主網卡分配一個IPv6地址。 | 關于如何為ECS主網卡分配IPv6地址,管理IPv6地址。 |
安全組限制
限制項 | 說明 | 推薦解決方案 |
安全組類型 | 添加已有ECS實例到節點池時,會將ECS實例加入到節點池安全組中。由于ECS的限制,ECS實例無法同時加入普通安全組和企業安全組。因此,ECS實例已加入的安全組類型必須與節點池安全組類型相同。 您可以單擊目標節點池后面的詳情,在基本信息頁簽中查看節點池的安全組信息;可以登錄ECS控制臺查看ECS實例已加入的安全組信息。關于安全組的詳細信息,請參見安全組概述。 | 節點池的安全組不支持修改,安全組的類型也不允許變更。如遇沖突,請通過以下方式解決。
|
安全組規則 | ECS實例已有安全組規則不能與即將加入的節點池安全組以及集群安全組規則沖突。 | 提前將已有節點加入到節點池安全組中。 通過安全組規則檢測功能,檢測節點池安全組中的每一條規則。安全組規則檢測的詳細操作步驟,請參見安全組規則檢測。 |
安全組數量 | 添加已有ECS實例到節點池時,會將實例加入到節點池安全組中,需要保證ECS實例加入的安全組數量未超過限制(默認5個)。 | 關于安全組的數量限制以及如何申請提升ECS實例能夠加入的安全組數量,請參見安全組。 |
操作系統限制
僅支持操作系統類型為Alibaba Cloud Linux、Red Hat、Ubuntu和CentOS的ECS實例。推薦您使用Alibaba Cloud Linux 3。關于ACK集群的操作系統支持情況,請參見操作系統鏡像概述。
注意事項
實例釋放
添加到節點池的ECS實例不會隨集群或節點池的刪除而釋放,需手動移除。如需手動移除,請參見移除節點。
相關計費
添加到集群中的ECS實例不會隨集群或節點池的刪除而釋放。請您關注ECS計費狀態,避免產生額外費用。更多信息,請參見計費概述。
實例配置
向節點池中添加已有ECS實例時,其付費類型和規格保持不變。
操作系統與云盤
強烈建議您在操作前做好相關備份,以免數據丟失造成損失。具體操作,請參見創建快照。
自動添加節點會根據節點池當前的操作系統替換該節點原有的操作系統;手動添加節點會保留節點原有操作系統。如需保留節點原操作系統,請手動添加節點。
自動添加節點時,原系統盤會被釋放,數據盤不會被釋放,但數據盤磁盤ID會發生變更,其中存儲的數據不受影響。
自動添加節點時,原系統盤的用戶快照會保留,自動快照則根據該系統盤屬性值“自動快照是否隨磁盤釋放”的選項來判斷是保留還是隨磁盤刪除。您可以登錄ECS管理控制臺,在磁盤列表單擊修改屬性,查看或修改屬性值。
為確保快照額度充足,以順利完成周期性的自動快照策略,您可以刪除無需使用的用戶快照和自動快照。
自動或手動添加節點
自動或手動添加并不影響您集群已有的節點和應用的運行。自動添加節點會根據節點池當前的操作系統替換該節點原有的操作系統;手動添加節點會保留節點原有操作系統。如需保留ECS實例的原操作系統,請手動添加節點。
為避免兼容性問題,不建議您將已創建服務的ECS實例初始化為Worker節點。
自動添加節點
自動添加節點方式會列出當前賬號下可用的ECS實例,在控制臺界面進行安裝部署,并自動添加到集群。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在節點池頁面,單擊目標節點池右側操作列下的更多,然后單擊添加已有節點。
在選擇已有云服務器實例配置向導頁面,選擇添加方式為自動添加,在已有云服務器的列表中,選擇所需的ECS云服務器,然后單擊下一步。
在填寫實例信息頁面,填寫相關信息,然后單擊下一步。
配置項
說明
集群ID/名稱
當前要添加的集群信息,已默認配置。
數據盤掛載
設置是否將容器和鏡像存儲在數據盤。
如果ECS已掛載數據盤,且最后一塊數據盤的文件系統未初始化,系統會自動將最后一塊數據盤格式化為ext4,用于存放內容/var/lib/docker、/var/lib/kubelet(分別為Docker容器運行時和kubelet組件默認對應的數據目錄)。
重要被格式化的數據盤內原有數據將會丟失,請提前備份數據。
如果ECS未掛載數據盤,則不會自動掛載新的數據盤。
保留實例名稱
添加節點時,默認開啟保留實例名稱。如果您不需要保留實例名稱,您可以關閉保留實例名稱,此時會按照自定義節點名稱指定的規則來重命名節點。
實例信息
待添加云服務器實例的實例ID及名稱。
在添加已有實例到集群對話框,仔細閱讀注意事項,然后單擊確定。
成功添加后,您可以在節點池頁面的操作列單擊目標節點池右側的詳情,然后在節點管理頁簽查看添加的節點信息。
手動添加節點
手動添加節點不會重置您的操作系統。在手動添加節點前,除使用限制外,還需關注如下限制。
操作系統不支持啟用SWAP。
如果將容器和鏡像存儲在數據盤,則僅支持ext和xfs文件系統。
手動添加節點方式要求您獲取安裝命令,登錄到對應的ECS云服務器上進行安裝。每次只能添加一個ECS云服務器。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在節點池頁面,單擊目標節點池右側操作列下的更多,然后單擊添加已有節點。
在選擇已有云服務器實例配置項頁面,選擇添加方式為手動添加,在已有云服務器的列表,選擇所需的ECS云服務器,然后單擊下一步。
在填寫實例信息頁面,填寫相關信息,然后單擊下一步。
配置項
說明
集群ID/名稱
當前要添加的集群信息,已默認配置。
數據盤掛載
設置是否將容器和鏡像存儲在數據盤。
如果ECS已掛載數據盤,且最后一塊數據盤的文件系統未初始化,系統會自動將最后一塊數據盤格式化為ext4,用于存放內容/var/lib/docker、/var/lib/kubelet(分別為Docker容器運行時和kubelet組件默認對應的數據目錄)。
重要被格式化的數據盤內原有數據將會丟失,請提前備份數據。
如果ECS未掛載數據盤,則不會自動掛載新的數據盤。
保留實例名稱
添加節點時,默認開啟保留實例名稱。如果您不需要保留實例名稱,您可以關閉保留實例名稱,此時會按照自定義節點名稱指定的規則來重命名節點。
實例信息
待添加云服務器實例的實例ID及名稱。
在添加完成頁面,復制執行命令,供下文遠程連接ECS實例使用,然后單擊完成。
登錄ECS管理控制臺,單擊左側導航欄中的實例與鏡像實例,選擇集群所在的地域,選擇需要添加的ECS實例。
單擊ECS實例右側的遠程連接。在遠程連接與命令對話框,選擇遠程連接方式后進入ECS遠程連接界面。
關于遠程連接方式,請參見下表:
遠程連接方式
說明
Workbench遠程連接
關于如何使用Workbench遠程連接ECS實例,請參見使用VNC登錄實例。
VNC遠程連接
關于如何使用VNC遠程連接ECS實例,請參見使用VNC登錄實例或通過密碼認證登錄Windows實例。
發送遠程命令(云助手)
推薦使用,發送遠程命令可以幫助您在實例內部快速執行命令,即無需遠程連接登錄實例,即可完成查看硬盤空間、安裝軟件、啟動停止服務等操作。該功能通過云助手的命令執行功能實現。關于如何安裝或激活云助手客戶端,請參見安裝云助手Agent。
在ECS實例遠程連接界面,根據頁面指導,輸入步驟6保存的命令,單擊執行開始執行腳本。
腳本執行成功后,該云服務器添加成功。
成功添加后,您可以在節點池頁面的操作列單擊目標節點池右側的詳情,然后在節點管理頁簽查看添加的節點信息。
常見問題
ECS實例加入集群后,后續ECS升降配是否會對集群業務產生影響?
ECS升降配通常包含修改實例規格、修改公網帶寬計費方式、修改公網帶寬、修改數據盤計費方式等,詳情請參見升降配方式概述。不同的升降配方式對于ECS實例的影響不同。
對于無需重啟的升降配操作,請根據實際業務情況判斷對業務的影響。
需要重啟ECS實例的升降配操作,例如實例規格升降配,會給業務帶來有損變更。進行相關操作(升配Worker節點的資源)前,建議先根據實際負載情況,判斷是否需要擴容冗余節點用于承接業務Pod,并將需要升降配的節點排水并移除出伸縮組和ACK集群。具體操作,請參見移除節點。
升降配完成后,再重新參見本文將節點添加回集群。
添加已有節點后報錯,提示timeout,怎么辦?
請排查節點與APIServer CLB的網絡是否可以連通,請先排查安全組是否符合要求。添加已有節點時安全組的使用限制,請參見安全組限制。關于網絡不通的其他問題,請參見網絡管理FAQ。
我可以將不同規格的已有節點添加到ACK集群中嗎?
可以。您可以在節點池中指定多個實例規格,避免由于實例規格不可用或庫存不足,導致節點池彈出節點失敗。流程如下。
如何跨ACK集群移動節點?
ACK不支持直接跨集群移動節點,但您可以通過添加已有節點的方式來完成。流程如下。
相關文檔
除控制臺外,您還可以通過OpenAPI、CLI將ECS實例添加至ACK集群。
OpenAPI:手動添加已有實例至節點池
CLI:添加已有ECS實例
節點池功能上線前的老集群中可能存在游離節點(不屬于任何節點池的集群節點)。您可以遷移游離節點至節點池,將其納入ACK集群管理。
如您的節點、Pod等產生報錯,或運行異常,您可以參見節點異常問題排查、Pod異常問題排查、節點與節點池FAQ進行自排查。