Azure Kubernetes Service (AKS)の仮想マシン (VM) のサイズ、世代、および機能

Azure Kubernetes Service (AKS)では、さまざまなワークロードとパフォーマンス要件に対応するために、さまざまな仮想マシン (VM) のサイズ、世代、および機能がサポートされています。 この記事では、AKS で使用可能な VM のサイズと世代の概要、リージョンで使用可能な VM サイズを確認する方法、特定の VM サイズが使用できない理由、VM サイズがインベントリから削除された場合の動作について説明します。

AKS での VM のサポート

Azureでは、第 1 世代 (Gen 1) と Generation 2 (Gen 2) 仮想マシン (VM) の両方がサポートされています。 一部の例外を除いて、Azure VM の最新の機能を活用するために、第 2 世代 VM への移行をお勧めします。

AKS ノード プールの作成時に選択する VM のサイズとオペレーティング システム (OS) によって、使用される VM の生成と ノード イメージが 決まります。 サポートされているサイズの一覧を確認して、SKU で Gen 2 がサポートされているか、必要かを確認します。

制限事項

VM の世代または OS を選択する際には、いくつかの制限事項を考慮する必要があります。

  • 信頼できる起動は、Gen 2 をサポートする VM サイズでのみ有効にすることができます。
  • 機密 VM サイズでは、常に AKS で Gen 2 が使用されます。
  • Arm64 VM のサイズでは、常に AKS で Gen 2 が使用されます。
  • Windows Server 2019 ノード プールでは、Gen 2 VM サイズはサポートされていません。
  • ノード プールWindows Server 2022、Gen 2 を使用するにはカスタム ヘッダーを使用する必要があります。

AKS で Gen 2 VM を使用する方法については、「 Gen 2 VM の使用」を参照してください。

使用可能な VM の機能

AKS では、セキュリティ、パフォーマンス、機能を強化するさまざまな VM 機能がサポートされています。 主な機能には次のようなものがあります。

  • ノード自動プロビジョニング (NAP) では、保留中のポッド リソース要件を使用して、ワークロードを効率的かつコスト効率よく実行するための最適な VM 構成を決定します。
  • Virtual Machines ノード プールは、動的ワークロードと高可用性の要件に対して優れたエクスペリエンスを提供します。 Virtual Machinesノード プールを使用すると、1 つのノード プールに複数の類似ファミリ VM を設定できます。 ワークロードは、構成した使用可能なリソースに自動的にスケジュールされます。

サポートされている VM サイズ

Azureで使用できる VM サイズの詳細については、「Azure VM サイズ」を参照してください。 サポートされている Gen 2 VM のサイズを表示するには、 第 2 世代 VM のサイズを参照してください。

AKS では、次の VM の種類と機能もサポートされています。

サポートされている VM サイズの既定の動作

サポートされている VM サイズのノード プールを作成する場合、次の 3 つのシナリオがあります。

  • VM サイズで Gen 1 のみがサポートされている場合、Linux ノード プールと Windows ノード プールの両方の既定の動作は、Gen 1 ノード イメージを使用することです。
  • VM サイズで Gen 2 のみがサポートされている場合、Linux ノード プールと Windows ノード プールの両方の既定の動作は、Gen 2 ノード イメージを使用することです。 ノード プールWindows Server 2022、Gen 2 のみをサポートする VM サイズを使用するには、カスタム ヘッダーが必要です。 詳細については、「 Gen 2 VM を使用してWindows ノード プールを作成するを参照してください。
  • VM サイズが Gen 1 と Gen 2 の両方をサポートしている場合、Linux ノードと Windows (Windows Server 2025 以降) ノード プールの既定の動作は、Gen 2 ノード イメージを使用することです。 Windows Server 2022に Gen 2 ノード イメージを使用するには、「 Gen 2 VM を使用してWindows ノード プールを作成するを参照してください。

使用可能な VM サイズを確認する

az vm list-skus コマンドを使用して、使用可能な VM サイズを確認します。

az vm list-skus --location <your-location> --output table

特定の VM サイズが使用できない理由

特定の VM サイズを使用できない理由はいくつかあります。次に例を示します。

  • Quota の制限: すべてのAzure サービスは、リソースと機能の既定の制限とクォータを設定します。 詳細については、次のリソースを参照してください。

    注

    • ユーザー ノード プールの場合、2 つ未満の vCPU と 2 GB のメモリ (RAM) を持つ VM サイズは、既定では使用されない場合があります。
    • システム ノード プールの場合、2 つ未満の vCPU と 4 GB のメモリ (RAM) を持つ VM サイズは、既定では使用されない場合があります。 必要なkube-system ポッドとアプリケーションを確実にスケジュールできるようにするには、B シリーズ VM または Av1 シリーズ VM を使用しないことをお勧めします。
  • プレビューの VM サイズ: VM サイズのプレビュー フラグを登録していない場合は、プレビューの VM サイズを使用できない可能性があります。

  • AKS によってブロックされる: 一部の VM サイズは、AKS では既定では使用できない場合があります。 これらのサイズでは、AKS との互換性を確保するために、追加のテストまたは検証が必要になる場合があります。 特定のVMサイズが必要で、それが利用できない場合には、GitHubのissueリクエストを送信できます。

ワークロードに必要な機能を理解し、それらの要件を満たす VM サイズを選択してください。 以降のバージョンの VM では、通常、パフォーマンスが向上し、機能が向上します。 たとえば、 Gen 2 VM では、Gen 1 VM よりもセキュリティとパフォーマンスの利点が向上しています。

VM サイズがインベントリから削除されるとどうなりますか?

VM サイズまたはシリーズが提供終了日に達すると、VM の割り当てが解除されます。 VM の割り当てが解除されると、AKS ノード プールが中断します。 VM サイズの提供終了の状態を確認するには、AZURE VM サイズ シリーズを参照するか、Azure 更新プログラムで検索を実行します。 ノード プールの VM サイズを確認するには、[az aks nodepool list][az-aks-nodepool-list] コマンドを使用し、 vmSize プロパティを照会します。

az aks nodepool list --resource-group <your-resource-group> --cluster-name <your-cluster-name> --query "[].{Name:name, VMSize:vmSize}" --output table

廃止または廃止される VM サイズを使用している場合は、サービスの中断の可能性を防ぐために、 サポートされている VM サイズにノード プールを移行 することをお勧めします。 現在、AKS では、同じノード プール内の新しい VM サイズへの移行は サポートされていません 。

サポートされている VM サイズにノード プールを移行する

アクションを実行する適切なノード プールを決定したら、 ノード プールのサイズを変更できます。 サイズ変更プロセス中に、新しいノード プールが作成され、ワークロードが新しいノード プールに移行されます。

新しい VM サイズへの移行の詳細については、次のリソースを参照してください。

AKS 上の Gen 2 VM

Gen 2 VM は通常、Azureの新しいサービスであり、メモリの増加、CPU パフォーマンスの向上、NVMe ディスクのサポート、Trusted Launch のサポートなど、Gen 1 VM に対する排他的な機能を備えています。

一般に、Gen 2 VM を実行することをお勧めしますが、選択した世代が要件をサポートしていることを確認する必要があります。 世代間の違いの詳細と、他の世代よりも意味がある場合については、「Hyper-V?

AKS で Gen 2 VM を使用する方法については、「AKS で 第 2 世代 VM を使用する」を参照してください。

次のステップ

  • Gen 2 VM の詳細については、「Azure 上の第 2 世代 VM のサポート」を参照してください。
  • サポートされている Gen 2 ノード イメージの詳細については、「ノード イメージ」を参照してください。