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

Container Service for Kubernetes:ノードの削除

最終更新日:Nov 04, 2024

予期しない結果を防ぐために、Container Service for Kubernetes (ACK) コンソールの [ノードプール] ページで不要になったノードを削除できます。 ノードを削除すると、そのノードで実行されるポッドが他のノードに移行されます。 これは、サービスの中断を引き起こし得る。 オフピーク時にノードを削除することを推奨します。

前提条件

使用上の注意

  • ノードを削除すると、そのノードで実行されるポッドが他のノードに移行されます。 これは、サービスの中断を引き起こし得る。 オフピーク時にノードを削除することを推奨します。

  • ノードを削除すると、不明なエラーが発生する場合があります。 ノードを削除する前に、ノードのデータをバックアップします。

  • ノードは、削除されているときにスケジュール不可状態のままです。

  • ワーカーノードのみを削除できます。 マスターノードは削除できません。

  • ACKコンソールでノードを削除することを推奨します。 kubectl delete nodeコマンドを実行してACKクラスターからノードを削除する場合は、次の制限事項に注意してください。

    • 削除されたノードを他のACKクラスターに追加することはできません。

    • ノードがデプロイされているECS (Elastic Compute Service) インスタンスは、ノードが削除されるとリリースされます。

  • ECSまたはAuto Scalingコンソールを使用してノードを削除したり、ノードプールからインスタンスをリリースしたりすると、ノードまたはインスタンスは自動的に中断され、ACKコンソールから削除されます。 ECSまたはAuto Scaling APIを使用してノードを削除またはインスタンスをリリースする場合、またはノードプール内のインスタンスのサブスクリプションが期限切れになった場合も、同じルールが適用されます。 ノードプールが予想されるノード数で構成されている場合、ノードプールはノードプールの構成に基づいて予想されるノード数に自動的にスケールされます。

手順

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

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

  3. [ノードプール] ページで、管理するノードプールの名前をクリックします。 [ノード] タブで、削除するノードを選択し、ページ下部の [一括削除] をクリックします。

  4. オプション: [ノードの削除] ダイアログボックスで、[ECSインスタンスのリリース] および [ドレインノード] を選択します。

    • ECSインスタンスのリリース:

      • pas-as-you-go ECSインスタンスとインスタンス上のデータディスクのみがリリースされます。 リリースされていないECSインスタンスに対しては引き続き課金されます。

      • サブスクリプションECSインスタンスは、サブスクリプションの有効期限が切れると自動的にリリースされます。

      • [ECSインスタンスのリリース] を選択しない場合でも、ノードがデプロイされているECSインスタンスに対して課金されます。

    • Drain Node: 削除するノードで実行されるポッドをクラスター内の他のノードに移行します。 このオプションを選択した場合、クラスター内の他のノードにこれらのポッドをホストするのに十分なリソースがあることを確認します。

      kubectl drain node-name [options] コマンドを実行して、ノードで実行されているポッドをクラスター内の他のノードに移行することもできます。

      説明
      • node-nameyour-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コマンドを実行して、ヘルプ情報を表示できます。

  5. 選択上記の情報を理解しており、ノードを削除したいをクリックし、OK.

    説明

    ノードの削除に失敗したことを示すメッセージが表示された場合は、[ECSインスタンスのリリース][ノードのドレイン] をクリアしてから、ノードを再度削除します。

よくある質問

ノードプールの [ノード] タブでノードが見つからない場合、ノードを削除するにはどうすればよいですか。

ノードを削除するには、次の操作を実行します。

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

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

  3. ノードページで、削除するノードを選択し、ページの下部にある一括削除をクリックします。

  4. [ノードの削除] ダイアログボックスで情報を確認し、OKをクリックします。

関連ドキュメント

  • ACKを使用すると、ノードプール内のノードの予想数を変更することで、ノードプールをスケーリングできます。 ノードプールをスケールアウトしてビジネス開発の要件を満たし、ノードプールをスケールインしてリソースコストを削減できます。 詳細については、「ノードプールのスケーリング」をご参照ください。

  • 既存のECSインスタンスをACKクラスターに追加したり、既存のノードをノードプールに再追加したりできます。 これを行うには、ACKコンソールにログインして手動でノードを追加するか、ノードを自動的に追加するようにACKを設定します。 詳細については、「既存のECSインスタンスをACKクラスターに追加する」をご参照ください。

  • データディスクに影響を与えずにノードプールを更新する方法については、「ノードプールの更新」をご参照ください。