すべてのプロダクト
Search
ドキュメントセンター

:NotReadyノードを自動的にクリアする方法

最終更新日:Nov 14, 2024

登録済みクラスターでノードプール機能を使用し、ノードプールをスケールインすると、一部のノードのステータスがNotReadyになる場合があります。 これらのノードがクリーンアップされない場合、リソースの浪費につながる可能性があります。 このトピックでは、クラウドノードコントローラーコンポーネントを使用してNotReadyノードを自動的にクリーンアップする方法について説明します。

前提条件

手順

登録済みクラスターにコンポーネントをインストールする前に、Resource Access Management (RAM) ユーザーを作成し、必要な権限を付与し、関連するクラウドリソースにアクセスするためのAccessKeyペアを設定する必要があります。

手順1: cloud-node-controllerコンポーネントのアクセス許可の設定

  1. RAMユーザーを作成し、次のカスタム権限ポリシーを付与します。 詳細については、「カスタムRAMポリシーの作成」をご参照ください。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "ecs:DescribeInstances"      # Allow querying detailed information of ECS instances.
                ],
                "Resource": [
                    "*"
                ],
                "Effect": "Allow"
            }
        ]
    }
  2. 次のコマンドを実行して、RAMポリシーのAccessKey情報を設定します。

    export ACCESS_KEY_ID=<ACCESS KEY ID>
    export ACCESS_KEY_SECRET=<ACCESS KEY SECRET>
  3. 次のコマンドを実行して、alibaba-addon-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}'
    説明

    シークレットが既に存在する場合は、シークレットのRAMユーザーに上記のカスタム権限を付与する必要があります。

手順2: cloud-node-controllerコンポーネントのインストール

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  3. [アドオン] ページの [コアコンポーネント] タブで、cloud-node-controllerカードを見つけ、右下隅の [インストール] をクリックします。

ステップ3: コンポーネントのステータスを確認

  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状態のノードを自動的にクリーンアップします。