全部產品
Search
文件中心

Container Service for Kubernetes:如何自動清理NotReady節點

更新時間:Jul 12, 2024

在註冊叢集中使用節點池功能時,如果您進行了縮容操作,此時節點狀態可能會變為NotReady。如果不及時清理這些節點,可能會導致叢集中的資源浪費。本文將介紹如何通過cloud-node-controller組件自動清理NotReady節點。

前提條件

操作步驟

在註冊叢集安裝組件之前,您需要建立RAM使用者為其授予相關許可權,並配置AccessKey使其具有訪問雲資源的許可權。

步驟一:為cloud-node-controller組件配置許可權

  1. 建立RAM使用者並為其授予以下自訂權限原則。具體操作,請參見為RAM使用者授予RAM許可權

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "ecs:DescribeInstances"      # 允許查詢ECS執行個體的詳細資料。
                ],
                "Resource": [
                    "*"
                ],
                "Effect": "Allow"
            }
        ]
    }
  2. 執行以下命令配置RAM Policy的AccessKey資訊。

    export ACCESS_KEY_ID=<ACCESS KEY ID>
    export ACCESS_KEY_SECRET=<ACCESS KEY SECRET>
  3. 執行以下命令建立一個名為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組件

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

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

  3. 組件管理頁面,在核心組件頁簽下,找到cloud-node-controller組件,單擊卡片右下方的安裝

步驟三:查看組件狀態

  1. 執行以下命令查看cloud-node-controller組件狀態。

    kubectl get pods -n kube-system | grep cloud-node-controller

    預期輸出:

    cloud-node-controller-abcXXX    1/1     Running   0     5m
  2. 組件部署完成後,系統將自動清理狀態為NotReady的節點。