Azure Kubernetes Service (AKS) クラスターのノードの数を手動でスケーリングする

アプリケーションのリソースニーズが変化した場合、CPU、メモリ、PID 領域、またはディスク サイズの容量が少ないために、クラスターのパフォーマンスが影響を受ける可能性があります。 これらの変化に対処するために、AKS クラスターを手動でスケーリングして、実行するノードの数を変えることができます。 スケールインの際には、実行中のアプリケーションの中断を最小限に抑えるために、ノードは慎重に切断およびドレインされます。 スケールアウトの際には、AKS は、ノードが Kubernetes クラスターによって準備完了とマークされるまで待機してから、それらに対してポッドがスケジュール化されます。

この記事では、AKS クラスターのノードの数を手動で増減する方法について説明します。

Note

この記事は、AKS Standard クラスターに適用されます。 AKS 自動クラスターでは 、ノードの自動プロビジョニングを 使用してノードのスケーリングを管理します。

開始する前に

  • AKS サービスのクォータと制限に関する記事を参照して、希望するノード数までクラスターをスケーリングできることを確認します。

  • ノード プールでクラスター オートスケーラーが有効になっている場合、ノード数を手動で変更することはできません。 手動でスケーリング する前に、クラスター オートスケーラーの最小値と最大値を更新 するか、 ノード プールでクラスター オートスケーラーを無効にすることができます 。

  • Azure Linux 2.0 のサポートは、2025 年 11 月 30 日に終了しました。 2026 年 3 月 31 日以降、Azure Linux 2.0 ノード イメージは削除され、影響を受けるノード プールはスケーリングできなくなります。 Azure Linux 2.0 ノード プールをスケーリングする前に、Azure Linux 3 に移行します。

  • ノード プール名は、次の要件を満たしている必要があります。

    ノード プールの種類 名称の要件
    Linux 1~12文字の小文字の英数字。 小文字で始まる必要があります。
    Windows 1 ~ 6 文字の小文字の英数字。 小文字で始まる必要があります。

AKS でのクラスター ノードのスケーリング

重要

kubectl コマンドを使用したノード プールからのノードの削除はサポートされていません。 このアクションにより、AKS クラスターでスケーリングの問題が発生する可能性があります。

  1. az aks show コマンドを使用して、ノード プールの名前、モード、ノード数を取得します。 次の例では、myResourceGroup リソース グループ内の myAKSCluster という名前のクラスターのノード プールの詳細を取得します。

    az aks show --resource-group myResourceGroup --name myAKSCluster --query "agentPoolProfiles[].{Name:name,Mode:mode,Count:count}" --output table
    

    次の出力例は、 nodepool1 が 3 つのノードを持つシステム ノード プールであることを示しています。

    Name       Mode    Count
    ---------  ------  -------
    nodepool1  System  3
    
  2. az aks scale コマンドを使用してクラスター ノードをスケーリングします。 次の例では、myAKSCluster という名前のクラスター内の nodepool1 を 2 つのノードにスケーリングします。

    az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 2 --nodepool-name nodepool1 --query "agentPoolProfiles[?name=='nodepool1'].{Name:name,Mode:mode,Count:count}" --output table
    

    次の出力例は、システム ノード プールが 2 つのノードに正常にスケーリングされたことを示しています。

    Name       Mode    Count
    ---------  ------  -------
    nodepool1  System  2
    

    システム ノード プールには、少なくとも 2 つのノードが必要です。 運用クラスターの場合は、システム ノード プール内の少なくとも 3 つのノードを使用します。 詳しくは、 システム・ノード・プールおよびユーザー・ノード・プールを参照してください。

ユーザー ノード プールを 0 にスケーリングする

常に実行中のノードを必要とするシステム ノード プールとは異なり、ユーザー ノード プールは 0 にスケーリングできます。 システム・ノード・プールとユーザー・ノード・プールの違いの詳細については、 システム・ノード・プールとユーザー・ノード・プールを参照してください。

重要

ユーザー ノード プールを 0 ノードにスケーリングするには、クラスター オートスケーラーを無効にします。 詳細については、「ノード プールでクラスター オートスケーラーを無効にする」を参照してください。

ユーザー ノード プールを 0 にスケーリングするには、一般的なノード スケーリングに使用される az aks scale コマンドではなく az aks nodepool scale を使用し、--node-countを 0 に設定します。

az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup  --node-count 0

クラスター オートスケーラーの --min-count パラメーターを 0 に設定することで、自動スケールされたユーザー ノード プールで自動スケールを強制的に 0 ノードに設定することはできません。

次のステップ

この記事では、AKS クラスターを手動でスケールしてノード数を増減しました。 クラスターの自動スケーラーを使用してクラスターを自動的にスケーリングすることもできます。