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-budget
を true
に設定することで PodDisruptionBudget の要件を無視できます。 PodDisruptionBudgets の詳細については、以下を参照してください。
--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
ノード プールが正常に削除されたことを確認するには、
kubectl get nodes
コマンドを使用して、ノード プール内のノードが存在していないことを確認します。
既存のノード プール内の特定の VM を削除する
Note
このコマンドを使用して VM を削除すると、AKS は cordon および drain を実行しません。 削除を予定している VM で現在実行されているポッドを再スケジュールすることによる中断を最小限に抑えるために、削除する前に VM 上で cordon と drain を実行します。 ノード プールのサイズ変更に関するチュートリアルで説明されているシナリオ例を使用して、切断とドレインの方法の詳細を確認できます。
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
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>
kubectl get nodes
コマンドを使用して、VM が正常に削除されたことを確認します。kubectl get nodes
az aks nodepool delete-machines
コマンドで指定した VM は、出力に表示されなくなるはずです。
次のステップ
AKS でのノード プール サイズの調整について詳しくは、ノード プールのサイズ変更に関するページを参照してください。
Azure Kubernetes Service