次の方法で共有


Azure Kubernetes Service (AKS) ノード プールの削除

この記事では、Azure Kubernetes Service (AKS) でのノード プールの削除の概要を示します。これには、ノード プールを削除するとどうなるかと、ノード プールの削除方法が含まれます。

ノード プールを削除するとどうなりますか?

ノード プールを削除すると、次のリソースが削除されます。

  • ノード プール内の各ノードの仮想マシン スケール セット (VMSS) と仮想マシン (VM)
  • ノード プール内のすべてのノード インスタンスと、それらのノードで実行されているポッド

ノード プールの削除

重要

ノード プールを削除するときは、次の情報に注意してください。

  • 削除された後にノード プールを復旧することはできません。 新しいノード プールを作成し、アプリケーションを再デプロイする必要があります。

az aks nodepool delete コマンドを使用して、ノード プールを削除します。

az aks nodepool delete \
    --resource-group <resource-group-name> \
    --cluster-name <cluster-name> \
    --name <node-pool-name>

ノード プールが正常に削除されたことを確認するには、kubectl get nodes コマンドを使用して、ノード プール内のノードが存在していないことを確認します。

既存のノード プールを削除するときに PodDisruptionBudgets (PDB) を無視する

ノード プールの削除を妨げている PodDisruptionBudgets がクラスターにある場合は、--ignore-pod-disruption-budgettrue に設定することで PodDisruptionBudget の要件を無視できます。 PodDisruptionBudgets の詳細については、以下を参照してください。

  1. --ignore-pod-disruption-budget フラグを true に設定した az aks nodepool delete コマンドを使用して、クラスターに設定されている PodDisruptionBudgets に従わずに、既存のノード プールを削除します。

    az aks nodepool delete \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name nodepool1
        --ignore-pod-disruption-budget true
    
  2. ノード プールが正常に削除されたことを確認するには、kubectl get nodes コマンドを使用して、ノード プール内のノードが存在していないことを確認します。

既存のノード プール内の特定の VM を削除する

Note

このコマンドを使用して VM を削除すると、AKS は cordon および drain を実行しません。 削除を予定している VM で現在実行されているポッドを再スケジュールすることによる中断を最小限に抑えるために、削除する前に VM 上で cordon と drain を実行します。 ノード プールのサイズ変更に関するチュートリアルで説明されているシナリオ例を使用して、切断とドレインの方法の詳細を確認できます。

  1. kubectl get nodes コマンドを使用して、既存のノードを一覧表示します。

    kubectl get nodes
    

    出力は次の出力例のようになります。

    NAME                                 STATUS   ROLES   AGE   VERSION
    aks-mynodepool-20823458-vmss000000   Ready    agent   63m   v1.21.9
    aks-mynodepool-20823458-vmss000001   Ready    agent   63m   v1.21.9
    aks-mynodepool-20823458-vmss000002   Ready    agent   63m   v1.21.9
    
  2. az aks nodepool delete-machines コマンドを使用して、指定した VM を削除します。 プレースホルダーは必ず、独自の値で置き換えてください。

    az aks nodepool delete-machines \
        --resource-group <resource-group-name> \
        --cluster-name <cluster-name> \
        --name <node-pool-name>
        --machine-names <vm-name-1> <vm-name-2>
    
  3. kubectl get nodes コマンドを使用して、VM が正常に削除されたことを確認します。

    kubectl get nodes
    

    az aks nodepool delete-machines コマンドで指定した VM は、出力に表示されなくなるはずです。

次のステップ

AKS でのノード プール サイズの調整について詳しくは、ノード プールのサイズ変更に関するページを参照してください。