チュートリアル: Azure Arc で有効になっている AKS でアプリケーションをスケーリングする
適用対象: Azure Local 22H2 上の AKS、Windows Server 上の AKS
前のチュートリアルを完了した場合は、AKS に動作する Kubernetes クラスターがあり、サンプルの Azure Voting アプリもデプロイされている必要があります。
このチュートリアル (パート 5/7) では、アプリでポッドをスケールアウトする方法について説明します。 次の方法について学習します。
- Kubernetes ノードをスケーリングする
- アプリケーションを実行する Kubernetes ポッドを手動でスケーリングする
以降のチュートリアルでは、Azure Vote アプリケーションが新しいバージョンに更新されます。
開始する前に
前のチュートリアルでは、アプリケーションをコンテナー イメージにパッケージ化し、そのイメージを Azure Container Registry にアップロードし、Kubernetes クラスターを作成する方法について説明しました。 その後、アプリケーションがクラスターにデプロイされました。 これらの手順を完了していない場合は、「チュートリアル 1 - Arcで有効になっている AKS 用のアプリケーションを準備する」から始めます。
ポッドを手動でスケーリングする
前のチュートリアルでは、1 つのレプリカを作成するために Azure Vote フロントエンドと Redis インスタンスをデプロイする方法について説明しました。 クラスター内のポッドの数と状態を確認するには、次の kubectl get コマンドを使用します。
kubectl get pods
次の出力例は、1 つのフロントエンド ポッドと 1 つのバックエンド ポッドを示しています。
NAME READY STATUS RESTARTS AGE
azure-vote-back-2549686872-4d2r5 1/1 Running 0 31m
azure-vote-front-848767080-tf34m 1/1 Running 0 31m
azure-vote-front デプロイのポッド数を手動で変更するには、kubectl scale コマンドを使用します。 次の例では、フロントエンド ポッドの数を 5 に増やします。
kubectl scale --replicas=5 deployment/azure-vote-front
kubectl get pods 再度実行して、 コマンドによって追加のポッドが正常に作成されたことを確認します。 1 分ほど経過すると、クラスターでポッドを使用できるようになります。
kubectl get pods
READY STATUS RESTARTS AGE
azure-vote-back-2606967446-nmpcf 1/1 Running 0 15m
azure-vote-front-3309479140-2hfh0 1/1 Running 0 3m
azure-vote-front-3309479140-bzt05 1/1 Running 0 3m
azure-vote-front-3309479140-fvcvm 1/1 Running 0 3m
azure-vote-front-3309479140-hrbf2 1/1 Running 0 15m
azure-vote-front-3309479140-qphz8 1/1 Running 0 3m
ノード プール内のワーカー ノードをスケーリングする
前のチュートリアルのコマンドを使用して Kubernetes クラスターを作成した場合、デプロイには、
Set-AksHciNodePool コマンドを使用して、ノード プールをスケーリングします。 次の例では、ノード プールを 1 から 3 つの Linux ノードにスケーリングします。
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
コントロール プレーン ノードをスケーリングする場合は、Set-AksHciCluster コマンドを使用します。
手記
Set-AksHciNodePool コマンドは、ノード プール内のワーカー ノードをスケーリングするために使用されます。 ワークロード クラスターのノード プールをサポートしていなかった以前の AKS バージョンでは、Set-AksHciCluster コマンドが使用されていました。 Set-AksHciCluster
を使用できるのは、古いパラメーターセットで作成されたクラスターのワーカーノードをスケールする場合に限ります。これは、New-AksHciClusterにより設定されています。
次のコマンドを実行して、スケーリングが成功したことを確認します。
Get-AksHciNodePool -clusterName mycluster
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 3
VmSize : Standard_K8S3_v1
Phase : Deployed
次の手順
このチュートリアルでは、Kubernetes クラスターのさまざまなスケーリング機能を使用しました。 次の方法について学習しました。
- アプリケーションを実行する Kubernetes ポッドを手動でスケーリングする
- Kubernetes ノードを手動でスケーリングする
次のチュートリアルに進み、Kubernetes でアプリケーションを更新する方法を学習してください。
Kubernetes でアプリケーションを更新する