當您不再需要該節點繼續工作時,請您在容器服務管理控制臺的節點池頁面進行移除節點的標準化操作,以免帶來不符合預期的效果。移除節點會涉及Pod遷移,可能會影響業務,請在業務低峰期操作。
前提條件
已通過kubectl連接Kubernetes集群。具體操作,請參見獲取集群KubeConfig并通過kubectl工具連接集群。
使用說明
移除節點會涉及Pod遷移,可能會影響業務,請在業務低峰期操作。
操作過程中可能存在非預期風險,請提前做好相關的數據備份。
操作過程中,后臺會將當前節點設置為不可調度狀態。
移除節點僅移除Worker節點,不會移除Master節點。
移除節點請通過控制臺進行操作,如果使用kubectl delete node方式手動移除節點,則:
移除后的節點無法再添加到其他集群中。
刪除集群時,該節點所在的ECS實例會被釋放。
如果您沒有通過容器服務控制臺,而是直接在ECS或者ESS控制臺(或相關API)主動釋放節點、移除實例,或者因包年包月到期而被動釋放節點,那么節點或實例就會直接停機,自動從容器服務控制臺中移除。如果節點池設置了期望節點數,那么節點池為了能夠將節點個數維持在期望節點數,會根據相應節點池配置自動擴容其他實例至節點池,以達到期望節點數。
操作步驟
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在節點池頁面,單擊目標節點池名稱。在節點管理頁簽中,選中目標節點,并單擊頁面下方的批量移除。
可選:在移除節點對話框中,可選中同時釋放 ECS和自動排空節點(drain)。
同時釋放 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)后重新移除。
常見問題
為什么節點池的節點管理頁簽中沒有目標節點,但目標節點屬于集群?
您可以通過以下方式移除節點。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在節點頁面,選中所有要移除的節點,單擊批量移除。
在彈出頁面確認相關信息,單擊確定。