垂直ノードのスケーリング
適用対象: AKS on Azure Stack HCI 22H2、Windows Server 上の AKS
特定のノード プール内の仮想マシンのサイズを変更して、Azure Arc で有効になっている AKS のノード プールで使用できるリソースを増やすことができます。
Azure Kubernetes Service (AKS) でのアプリの需要に対応するには、ワークロードを実行するノードの数を調整することが必要になる場合があります。 場合によっては、ノードを追加してクラスターを水平方向にスケーリングするだけでは、より多くの CPU コアまたはメモリに対するアプリからの要求を満たすには不十分です。
垂直ノードスケーリングを行わない場合は、新しいノード プールに再デプロイし、アプリを移動する必要があります。 この状況は、リソースの限られたエッジ環境では理想的ではない可能性があります。 この柔軟性を実現するために、AKS Arc には、特定のノード プール内の VM の仮想マシン (VM) サイズ (SKU) を変更する機能が導入されています。
AKS Arc での垂直ノードスケーリングのしくみ
AKS Arc では、ターゲット クラスター ノード プールは内部的に machineDeployment として管理されます。 machineDeployment の 1 つのプロパティは、New-AksHciNodePool
コマンドの実行時に選択された VM サイズ (SKU) です。
ノード プールを別の VM サイズ (SKU) に変更するには、ワーカー ノードの VM サイズを変更するために Set-AksHciNodePool
コマンドを使用し、コントロール プレーン ノードの VM サイズを変更するために Set-AksHciCluster
コマンドを使用できます。
新しい VM サイズ (SKU) でコマンドを送信すると、ノード プールまたはクラスターの新しい machineDeployment が作成され、既存のマシン セットが置き換えられます。 このイベントは、基になるデプロイ システムの更新フローをトリガーします。 OS または Kubernetes バージョンのアップグレードと同様に、新しい machineDeployment はローリング更新を使用して、ノード プールまたはコントロール プレーン内の 1 つの仮想マシンを置き換えます。 各アップグレードでは、古いノードが削除される前に、そのノードが正しく切断およびドレインされていることを確認します。
Note
システムは、古いマシン セットの代わりに新しいマシン セットをスケールアップするのに十分なハードウェア リソースが使用可能であると想定しています。
プロセスの例
次は、垂直方向のノード スケーリングの例を示しています。
Linux ワーカー ノード プールの VM サイズを 4 コアと 6 GB のメモリから 4 コアと 8 GB のメモリに変更する
まず、クラスター mycluster
上のノード プールの現在の VM サイズを確認します。 出力から、VM のサイズが Standard_K8S3_v1
されていることを確認できます。
get-akshcinodepool -clustername mycluster
Status : {Error, Phase, Details}
ClusterName : mycluster
NodePoolName : mycluster-linux
Version : v1.22.4
OsType : Linux
NodeCount : 2
VmSize : Standard_K8S3_v1
Phase : scaling
Standard_K8S3_v1
使用可能な VM サイズの一覧では、4 コアと 6 GB のメモリがあることを示しています。
Get-AksHciVmSize
VmSize CPU MemoryGB
------ --- --------
Default 4 4
Standard_A2_v2 2 4
Standard_A4_v2 4 8
Standard_D2s_v3 2 8
Standard_D4s_v3 4 16
Standard_D8s_v3 8 32
Standard_D16s_v3 16 64
Standard_D32s_v3 32 128
Standard_DS2_v2 2 7
Standard_DS3_v2 2 14
Standard_DS4_v2 8 28
Standard_DS5_v2 16 56
Standard_DS13_v2 8 56
Standard_K8S_v1 4 2
Standard_K8S2_v1 2 2
Standard_K8S3_v1 4 6
4 コアと 8 GB のメモリに設定する新しいサイズが Standard_A4_v2
。 ノード プールのmycluster-linux
を更新するには、-VMsize
パラメーターを受け入れるように更新されたSet-AksHciNodePool
コマンドレットを使用します。
Set-AksHciNodePool -ClusterName mycluster -name mycluster-linux -vmsize Standard_A4_v2
数分後、プロセスが完了します。 Get-AksHciNodePool
をもう一度実行して結果を確認し、VmSize
がStandard_A4_v2
されていることを確認できます。
get-akshcinodepool -clustername mycluster
Status : {Error, Phase, Details}
ClusterName : mycluster
NodePoolName : mycluster-linux
Version : v1.22.4
OsType : Linux
NodeCount : 2
VmSize : Standard_A4_v2
Phase : scaling
次のステップ
更新された PowerShell コマンドのドキュメントを参照してください。