このドキュメントでは、Google Kubernetes Engine(GKE)で Arm ワークロードを実行する方法について説明します。 Arm ワークロードは次の方法で実行できます。
- GKE Autopilot モード: Autopilot コンテナ最適化コンピューティング プラットフォームで、
汎用ワークロードに Arm アーキテクチャと
autopilot-armComputeClass を明示的にリクエストします。特定のハードウェアをリクエストするには、PerformanceまたはScale-Outコンピューティング クラスを使用します。 - GKE Standard モード: C4A、N4A、または Tau T2A マシンシリーズを使用します。
x86 と Arm の両方のプロセッサと互換性のあるシングル アーキテクチャの Arm イメージまたはマルチ アーキテクチャ イメージを実行できます。Arm の利点 については、コンピューティングでの Arm VM をご覧ください。
GKE で Arm ワークロードを実行する
Arm にデプロイするワークロードの選択と、デプロイに使用するワークロードの準備の詳細については、以下をご覧ください。
Arm で実行するワークロードの選択: Arm で実行するワークロードを選択する際は、次の オプションのメリットを考慮してください。
- Autopilot コンテナ最適化コンピューティング プラットフォーム: Autopilot クラスタの汎用 Arm ワークロードにおすすめです。特定のマシンタイプを管理することなく、Pod ベースの課金と弾力性を提供します。
特定のマシン ファミリー: 特定の ハードウェア特性を必要とするワークロードの場合は、次のマシンタイプを検討してください。詳細については、Compute Engine の汎用マシン ファミリーの表をご覧ください。
- C4A ノードは、パフォーマンスを最も重視している Arm ベースのワークロードで一貫して高いパフォーマンスを実現する Arm ベースのコンピューティングを提供します。
- N4A ノードは、価格とパフォーマンスのバランスが取れた Arm ベースのコンピューティングを提供します。
- T2A ノードは、より柔軟なワークロードや、水平方向のスケールアウトに依存するワークロードに適しています。
アーキテクチャ間でのデプロイ: GKE では、マルチアーキ イメージを使用して、Arm などの異なるアーキテクチャのノード間で単一のイメージ マニフェストをデプロイできます。
- コンテナ イメージに Arm との互換性があり、ターゲット アーキテクチャで実行できることを確認するには、Arm ワークロード用にマルチ アーキテクチャ イメージをビルドするをご覧ください。
- マルチ アーキテクチャ イメージをアーキテクチャ間でデプロイするためのチュートリアルについては、GKE 上の x86 アプリケーションを Arm でマルチ アーキテクチャに移行するをご覧ください。
デプロイ用に Arm ワークロードを準備する: Arm 互換イメージを作成したら、ノード アフィニティ ルールとノードセレクタを使用して、互換性のあるアーキテクチャ タイプのノードにワークロードがスケジュールされるようにします。
- Autopilot クラスタ: Arm アーキテクチャで Autopilot ワークロードをデプロイするをご覧ください。
- Standard クラスタ: デプロイする Arm ワークロードを準備するをご覧ください。
要件と制限事項
- Arm ノードは、Arm アーキテクチャをサポートする Google Cloud のロケーションで利用できます。詳細については、使用可能なリージョンと ゾーンをご覧ください。
general-purpose-armPod ファミリーとautopilot-armコンピューティング クラスは、us-east1、us-west1、europe-west1、europe-west4、us-central1のリージョンでのみ使用できます。- Config Connector と Config Controller は、Arm ノードプールを含むクラスタではサポートされていません。
- C4A 仮想マシン(VM)と
c4a-highmem-96-metalベアメタル インスタンス (プレビュー)の要件と制限事項は次のとおりです。- C4A VM:
-
ComputeClasses
- 1.30.7-gke.1136000
- 1.31.3-gke.1056000
- Standard クラスタを作成するには、1.30.4-gke.1213000 以降を使用します。
-
ローカル SSD を使用するには、次のバージョン以降を使用します。
- 1.30.12-gke.1033000
- 1.31.8-gke.1045000
- 1.32.1-gke.1357000
- GKE は、C4A VM で以下の機能をサポートしていません。
- C4A ベアメタル インスタンス
c4a-highmem-96-metal(プレビュー):-
Autopilot
モード、クラスタ
自動スケーリング、
ノード
自動プロビジョニング、
またはノードプールを自動作成する ComputeClasses
を使用するクラスタを作成するには、バージョン 1.35.3-gke.1389000 以降を使用します。
次の点にも注意してください。
- 自動作成されたノード
プール
を構成して
c4a-highmem-96-metalを使用するには、 マシンタイプを明示的に指定する必要があります。マシンタイプではなく C4A マシンシリーズのみを指定すると、GKE はベアメタル インスタンスではなく C4A VM をプロビジョニングします。この動作は、ノード自動プロビジョニングと、ノードプールを自動作成する ComputeClass の両方に当てはまります。
- 自動作成されたノード
プール
を構成して
- Standard クラスタを作成するには、バージョン 1.35.0-gke.2232000 以降を使用します。
- C4A VM の制限に加えて、GKE は
以下の機能を
c4a-highmem-96-metal(プレビュー)でサポートしていません:- ローカル SSD。
- マシンタイプを明示的に選択できないため、マシン シリーズを選択して optimizing Autopilot Pod のパフォーマンスを最適化することでベアメタル インスタンスをプロビジョニングします。
- ライブ マイグレーション。詳細については、ライブ マイグレーションが行われない GKE ノードの停止を 管理するをご覧ください。
-
Autopilot
モード、クラスタ
自動スケーリング、
ノード
自動プロビジョニング、
またはノードプールを自動作成する ComputeClasses
を使用するクラスタを作成するには、バージョン 1.35.3-gke.1389000 以降を使用します。
次の点にも注意してください。
- C4A VM:
N4A の要件と制限事項は次のとおりです。
- Autopilot モードを使用する N4A ノードを含むクラスタを作成するには、GKE バージョン 1.34.1-gke.3403001 以降を使用します。
GKE は、N4A ノードで以下の機能をサポートしていません。
- ローカル SSD
- Confidential GKE Node
- GPU
- コンパクト プレースメント
- 同時マルチスレッディング(SMT)
- Persistent Disk(代わりに Hyperdisk を使用。N4A でサポートされているディスクタイプをご覧ください)
- ネストされた仮想化
- 1 GB hugepage (2 MB hugepage のみがサポートされる)
T2A の要件と制限事項は次のとおりです。
GKE は、T2A ノードで以下の機能をサポートしていません。
次のステップ
- Arm ノードを使用してクラスタとノードプールを作成する
- Arm ワークロード向けのマルチアーキテクチャ イメージをビルドする
- デプロイする Arm ワークロードを準備する
- GKE 上の x86 アプリケーションを Arm でマルチ アーキテクチャに移行する