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

Container Service for Kubernetes:クラスターまたはノードプールからのノードの削除

最終更新日:Jun 16, 2026

Pod の事前ドレインや、基盤となる ECS インスタンスのリリースといったオプションを使用して、ワーカーノードを削除します。

重要

ノードは常に Container Service for Kubernetes (ACK) コンソールから削除してください。 kubectl delete node を実行すると削除ワークフローがバイパスされ、ECS インスタンスが不整合な状態のまま残ります。

ユースケース

次のような場合にノードを削除します:

  • 非管理対象ノードの廃止:ノードプール機能が提供される前に作成された古いクラスターには、非管理対象のワーカーノードが存在する場合があります。ノードを削除した後、既存のノードプールに追加して一元管理します。

  • ECS インスタンスの置き換え:新しい ECS インスタンスを先にノードプールに追加し、その後に古いインスタンスを削除します。

  • ノードプールのスケールイン:手動スケーリングまたは自動スケーリングを使用しているノードプールから特定の ECS インスタンスを削除し、コストを削減します。

  • ノードプール間でのノードの移行:移行元ノードプールからノードを削除し、移行先ノードプールに追加します。

  • ECS インスタンスのリサイズ:ノードを削除し、ECS コンソールでインスタンスタイプを変更してから、ノードを再度追加します。

  • 課金方法の変更:ノードを削除し、ECS コンソールで課金方法を従量課金からサブスクリプションに変更してから、ノードを再度追加します。

  • 異常なノードの再初期化:ノードを削除して再度追加し、システムディスクをリセットします。

    警告

    ノードの再初期化ではシステムディスクが置き換えられます。続行する前に、システムディスク上のデータをバックアップしてください。

ノードを削除したときの動作

ノードを削除すると、ACK は次の手順を実行します:

  1. ノードのドレイン ([ノードのドレイン] を選択した場合):ACK は削除前に、すべての Pod を利用可能な他のノードに退去させます。これによりサービスの中断を防げますが、残りのノードに十分なキャパシティが必要です。

  2. クラスターからノードを削除:ノードプールに [期待されるノード数] が設定されている場合、ACK は自動的に調整します。

  3. ECS インスタンスのリリース ([ECS インスタンスのリリース] を選択した場合):ACK は ECS インスタンスとそのデータディスクをリリースします。この操作は元に戻せません。

開始する前に、次の 2 つの削除オプションを確認してください:

オプション 選択するタイミング 未選択の場合の影響
[ノードのドレイン] 手動でドレインした場合を除き、常に選択します 削除前に Pod が退去されないため、サービスが中断する可能性があります
[ECS インスタンスのリリース] ECS インスタンスが不要になった場合 ECS インスタンスは稼働と課金が継続され、手動で管理する必要があります

注意事項

  • ECS コンソール、Auto Scaling (ESS) コンソール、またはそれらの API でノードをリリースしたりインスタンスを削除したりしないでください。また、サブスクリプションインスタンスが有効期限切れで自動的にリリースされないようにしてください。これらの操作によりノードが停止し、ACK コンソールから削除されます。ノードプールに [期待されるノード数] が設定されている場合、ACK はスケールアウトして削除されたインスタンスを置き換えます。

  • ノードを削除する前にデータをバックアップしてください。削除中の Pod 移行により、稼働中のサービスに影響する場合があります。

  • ノードアフィニティとスケジューリングポリシーにより、他のノードに再スケジュールできることを確認してください。

  • ノードをリリースすると、データディスクとシステムディスクのデータは完全に失われます。ノードのライフサイクルを超えてデータを永続化するには、PersistentVolume (PV) を使用してください。

ノードのドレインの詳細

ノードのドレイン中のデフォルトのグレースフルターミネーションのタイムアウトは 30 分です。Pod の terminationGracePeriodSeconds がそれより長く設定されている場合 (例:40 分) でも同様です。Pod が 30 分以内に終了しない場合、ACK は Pod を強制終了するため、ドレインが失敗してノードの削除が停止します。再試行するには、コンソールで操作を再度開始してください。

Pod により長い終了時間が必要な場合は、先にノードを手動でドレインしてください:

kubectl drain <nodeName> [options]
プレースホルダー 説明
<nodeName> ドレインするノードの名前 cn-hangzhou.10.126.XX.XX
[options] オプションのフラグ --force --ignore-daemonsets --delete-local-data

オプションの一覧については、kubectl drain --help を実行してください。

すべての Pod が退去されたら、[ノードのドレイン] のチェックを外してノードを削除します。

PodDisruptionBudget (PDB): ドレインは、クラスター内の PDB ルールに従います。PDB により退去がブロックされると、ドレインは失敗します。ドレインする前に、該当する PDB ルールを確認して調整してください。

ECS インスタンスのリリースの詳細

  • すぐにリリースできるのは、従量課金 の ECS インスタンスとそのデータディスクのみです。

  • サブスクリプションの ECS インスタンスは、サブスクリプションの期限が切れると自動的にリリースされます。期限前にリリースする場合は、先に 返金を申請するか、または 課金方法を従量課金に変更してください。

  • スマートホスティング ノードプールでは、ACK がワークロードに基づいてノードのライフサイクルを自動的に管理します。ノードを削除すると、基盤となる ECS リソースが削除されます。

ノードプールからのノードの削除

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

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

  3. 対象のノードプールの名前をクリックし、[ノード] タブに移動します。

  4. ノードを削除します:

    • 単一ノード:対象のノードの [アクション] 列で、[その他] > [削除] を選択します。ノードプールから単一ノードを削除

    • 複数のノード: 対象のノードを選択し、[一括削除] をクリックします。ノードプールから複数のノードを削除

  5. ダイアログで必要に応じて [ノードのドレイン][ECS インスタンスのリリース] を選択し、確認します。Node removal options

クラスターからのノードの削除

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

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

  3. [ノード] ページで、ノードを削除します:

    • 単一ノード:対象のノードの[操作]列で、[その他] > [削除]を選択します。Remove a single node from a cluster

    • 複数のノード:対象のノードを選択し、[一括削除] をクリックします。Remove multiple nodes from a cluster

  4. ダイアログで必要に応じて [ノードのドレイン][ECS インスタンスのリリース] を選択し、確認します。Node removal options

トラブルシューティング

ノードの削除に失敗する場合

ノードの削除は、グレースフルターミネーションのタイムアウトや、PDB による退去のブロックが原因で失敗することがあります。解決するには、先にノードを手動でドレインしてください:

kubectl drain <nodeName> [options]
プレースホルダー 説明
<nodeName> ドレインするノードの名前 cn-hangzhou.10.126.XX.XX
[options] オプションのフラグ --force --ignore-daemonsets --delete-local-data

すべての Pod が退去されたら、[ノードのドレイン] のチェックを外してノードを削除します。

次のステップ