チュートリアル: Azure Arc で有効になっている AKS でアプリケーションをスケーリングする

適用対象: AKS on Azure Stack HCI 22H2、AKS on Windows Server

前のチュートリアルを完了した場合は、AKS に動作する Kubernetes クラスターがあり、サンプルの Azure Voting アプリもデプロイされている必要があります。

このチュートリアルは、7 つあるうちの 5 番目のパートで、アプリでポッドをスケール アウトする方法について説明します。 学習内容は次のとおりです。

  • Kubernetes ノードをスケーリングする
  • アプリケーションを実行する Kubernetes ポッドを手動でスケーリングする

後続のチュートリアルでは、Azure 投票アプリケーションが新しいバージョンに更新されます。

開始する前に

前のチュートリアルでは、アプリケーションをコンテナー イメージにパッケージ化し、そのイメージをAzure Container Registryにアップロードし、Kubernetes クラスターを作成する方法について説明しました。 その後、クラスターにアプリケーションをデプロイしました。 これらの手順を完了していない場合は、「 チュートリアル 1 - AKS ハイブリッド用にアプリケーションを準備する」から始めます。

ポッドを手動でスケーリングする

前のチュートリアルでは、Azure Vote フロントエンドと Redis インスタンスをデプロイして 1 つのレプリカを作成する方法について説明しました。 クラスター内のポッドの数と状態を確認するには、次の kubectl get コマンドを使用します。

kubectl get pods

次の出力例を見ると、フロントエンド ポッドとバックエンド ポッドが 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 を実行します。 しばらくすると、ポッドがクラスターで利用可能になります。

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 クラスターを作成した場合、デプロイには mycluster という名前のクラスターがあり、 linuxnodepool という 1 つの Linux ノード プールがあり、ノード数は 1 です。

ノード プールをスケーリングするには、Set-AksHciNodePool コマンドを使用します。 次の例では、ノード プールを 1 から 3 個の Linux ノードにスケーリングします。

Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3

コントロール プレーン ノードをスケーリングする場合は、Set-AksHciCluster コマンドを使用します。

Note

Set-AksHciNodePool コマンドは、ノード プール内のワーカー ノードをスケーリングするために使用されます。 ワークロード クラスターのノード プールをサポートしていなかった以前の AKS バージョンでは、 Set-AksHciCluster コマンドが使用されていました。 New-AksHciCluster で設定された古いパラメーターを使用して作成されたクラスター内のワーカー ノードのスケーリングにのみ使用Set-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 でアプリケーションを更新する方法については、次のチュートリアルに進んでください。