當您不再需要該節點繼續工作時,請您在Container Service管理主控台的節點池頁面進行移除節點的標準化操作,以免帶來不符合預期的效果。移除節點會涉及Pod遷移,可能會影響業務,請在業務低峰期操作。
前提條件
已通過kubectl串連Kubernetes叢集。具體操作,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
使用說明
移除節點會涉及Pod遷移,可能會影響業務,請在業務低峰期操作。
操作過程中可能存在非預期風險,請提前做好相關的資料備份。
操作過程中,後台會將當前節點設定為不可調度狀態。
移除節點僅移除Worker節點,不會移除Master節點。
移除節點請通過控制台進行操作,如果使用kubectl delete node方式手動移除節點,則:
移除後的節點無法再添加到其他叢集中。
刪除叢集時,該節點所在的ECS執行個體會被釋放。
如果您沒有通過Container Service控制台,而是直接在ECS或者ESS控制台(或相關API)主動釋放節點、移除執行個體,或者因訂用帳戶到期而被動釋放節點,那麼節點或執行個體就會直接停機,自動從Container Service控制台中移除。如果節點池設定了期望節點數,那麼節點池為了能夠將節點個數維持在期望節點數,會根據相應節點池配置自動擴容其他執行個體至節點池,以達到期望節點數。
操作步驟
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在節點池頁面,單擊目標節點池名稱。在節點管理頁簽中,選中目標節點,並單擊頁面下方的大量移除。
可選:在移除節點對話方塊中,可選中同時釋放 ECS和自動排空節點(drain)。
同時釋放 ECS:
僅釋放隨用隨付類型的ECS執行個體及其資料盤,不被釋放的ECS執行個體會繼續收費。
對於預付費ECS執行個體,計費周期到期後,ECS執行個體會自動釋放。
若不選擇同時釋放 ECS,該節點所在的ECS執行個體會繼續計費。
自動排空節點(drain):將待移除節點上的Pod轉移到其他節點。請確保叢集其他節點的資源充足。
您還可以通過執行命令
kubectl drain node-name [options]
的方式將待移除節點上的Pod轉移到其他節點。說明node-name格式為your-region-name.node-id。
your-region-name為您叢集所在的地區名稱。node-id為待移除節點所在的ECS執行個體ID。例如,cn-hangzhou.i-i-bp1asavedmte377c3**** 。
options
為該命令的可選配置參數。例如,可配置為--force --ignore-daemonsets --delete-local-data
。更多資訊,請執行命令kubectl drain --help
查看。
選中我已瞭解上述說明,確認移除節點,單擊確定。
說明如果提示節點移除失敗,取消勾選同時釋放ECS和自動排空節點(drain)後重新移除。
常見問題
為什麼節點池的節點管理頁簽中沒有目標節點,但目標節點屬於叢集?
您可以通過以下方式移除節點。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在節點頁面,選中所有要移除的節點,單擊大量移除。
在彈出頁面確認相關資訊,單擊確定。