在註冊叢集中使用節點池功能時,如果您進行了縮容操作,此時節點狀態可能會變為NotReady。如果不及時清理這些節點,可能會導致叢集中的資源浪費。本文將介紹如何通過cloud-node-controller組件自動清理NotReady節點。
前提條件
已建立和擴容普通節點池。具體操作,請參見建立節點池並擴容。
已通過kubectl串連註冊叢集。具體操作,請參見通過kubectl串連叢集。
操作步驟
在註冊叢集安裝組件之前,您需要建立RAM使用者為其授予相關許可權,並配置AccessKey使其具有訪問雲資源的許可權。
步驟一:為cloud-node-controller組件配置許可權
建立RAM使用者並為其授予以下自訂權限原則。具體操作,請參見為RAM使用者授予RAM許可權。
{ "Version": "1", "Statement": [ { "Action": [ "ecs:DescribeInstances" # 允許查詢ECS執行個體的詳細資料。 ], "Resource": [ "*" ], "Effect": "Allow" } ] }
執行以下命令配置RAM Policy的AccessKey資訊。
export ACCESS_KEY_ID=<ACCESS KEY ID> export ACCESS_KEY_SECRET=<ACCESS KEY SECRET>
執行以下命令建立一個名為alibaba-addon-secret的Secret資源。
kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=${ACCESS_KEY_ID}' --from-literal='access-key-secret=${ACCESS_KEY_SECRET}'
說明如果該Secret已經存在,則需要為Secret對應的RAM使用者增加上述自訂許可權。
步驟二:安裝cloud-node-controller組件
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在組件管理頁面,在核心組件頁簽下,找到cloud-node-controller組件,單擊卡片右下方的安裝。
步驟三:查看組件狀態
執行以下命令查看cloud-node-controller組件狀態。
kubectl get pods -n kube-system | grep cloud-node-controller
預期輸出:
cloud-node-controller-abcXXX 1/1 Running 0 5m
組件部署完成後,系統將自動清理狀態為NotReady的節點。