アプリケーションのリソースニーズが変化した場合、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 クラスターでスケーリングの問題が発生する可能性があります。
- Azure CLI
- Azure PowerShell
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 3az 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 ノードにスケーリングするには、クラスター オートスケーラーを無効にします。 詳細については、「ノード プールでクラスター オートスケーラーを無効にする」を参照してください。
- Azure CLI
- Azure PowerShell
ユーザー ノード プールを 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 クラスターを手動でスケールしてノード数を増減しました。 クラスターの自動スケーラーを使用してクラスターを自動的にスケーリングすることもできます。