このドキュメントでは、G2(NVIDIA L4)または G4(NVIDIA RTX PRO 6000)アクセラレータ最適化マシンシリーズを使用して、人工知能(AI)と機械学習(ML)のワークロードをサポートするカスタム Google Kubernetes Engine(GKE)クラスタを作成する方法について説明します。 G2 と G4 は一般的な GPU マシンシリーズであり、 小規模から中規模の推論やグラフィックを多用するアプリケーションなど、主流の AI タスク向けに設計された独立したコンピューティング リソースを提供します。
GKE は、組織のさまざまなワークロードを実行するための単一のプラットフォーム サーフェスを提供し、複数のプラットフォームを管理する運用上の負担を軽減します。
G2 または G4 を使用して AI 最適化 GKE クラスタを作成するには、次の操作を行います。
始める前に
始める前に、次のタスクが完了していることを確認してください。
- Google Kubernetes Engine API を有効にする。 Google Kubernetes Engine API の有効化
- このタスクに Google Cloud CLI を使用する場合は、
インストールして
初期化する
gcloud CLI。gcloud CLI をインストール済みの場合は、最新の
バージョンを
gcloud components updateコマンドを実行して取得します。以前のバージョンの gcloud CLI では、このドキュメントのコマンドを実行できない場合があります。
必要なロール
GKE クラスタの作成と管理に必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。
- Kubernetes Engine 管理者 (
roles/container.admin) - Compute 管理者 (
roles/compute.admin)
ロールの付与の詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
使用オプションを選択して容量を取得する
使用オプションを選択します 。GPU リソースの取得方法と使用方法に基づいて選択します。詳細については、使用 オプションを選択するをご覧ください。
GKE の場合は、使用オプションを選択する際に次の追加情報を考慮してください。
- Flex Start (プレビュー版)と GKE の詳細については、 Flex Start での GPU の取得可能性についてをご覧ください。
- Flex Start は、ベスト エフォート型のコンパクト プレースメントを使用します。トポロジを確認するには、 GKE クラスタ内のノードの物理トポロジを表示するをご覧ください。
- Spot VM を使用する場合、トポロジ情報を取得できるのは、 コンパクト プレースメントを構成した場合のみです。
容量を取得します 。 使用オプションの容量を取得 する方法を確認してください。
要件
G2 または G4 を使用する AI 最適化 GKE クラスタを作成するには、次の要件を満たしていることを確認してください。
- GKE バージョン: G4(RTX PRO 6000)マシンには、GKE バージョン 1.32.4-gke.1698000 以降が必要です。
- GPU ドライバ: GPU ノードでは、NVIDIA ドライバ バージョン 535 以降を使用する必要があります。
制限事項
一般的な GPU マシンシリーズとして、G2 と G4 には次の制限が適用されます。
- ローカル SSD: G2 マシンタイプと G4 マシンタイプには、デフォルトでローカル SSD ディスクが含まれていません。必要に応じて手動で接続する必要があります。
- NCCL Fast Socket: GKE の G2 マシンまたは G4 マシンで NCCL Fast Socket を使用することはできません。G2 マシンと G4 マシンはマルチノード通信をサポートしていますが、標準の VPC ネットワーキングを使用します。 最大ネットワーク スループットを必要とする大規模な分散トレーニングの場合は、 クラスタ化された GPU マシンシリーズを使用することをおすすめします。たとえば、A3 High や A3 Mega(GPUDirect TCPX を使用)や A3 Ultra や A4 (GPUDirect RDMA を使用)などです。
GKE 環境を作成する
クラスタは、Autopilot モードまたは標準モードで作成できます。
Autopilot
Autopilot クラスタを作成するには、次のコマンドを実行します。
gcloud container clusters create-auto CLUSTER_NAME \
--region=REGION
次のように置き換えます。
CLUSTER_NAME: クラスタの名前。REGION: クラスタのリージョン。
Standard
Standard クラスタと GPU ノードプールを作成します。
Standard クラスタを作成するには、次のコマンドを実行します。
gcloud container clusters create CLUSTER_NAME \ --region=REGION \ --enable-ip-alias次のように置き換えます。
CLUSTER_NAME: クラスタの名前。REGION: クラスタのリージョン。
ノードプールを作成します。 クラスタを作成したら、G2 または G4 を使用してノードプールを追加できます。G2(L4)または G4(RTX PRO 6000)を使用する マルチノード ワークロードの場合は、 コンパクト プレースメント ポリシー を使用してノード間のネットワーク レイテンシを最小限に抑えることをおすすめします。
ノードプールを作成するには、次のコマンドを使用します。
G2(NVIDIA L4)
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --region=REGION \ --node-locations=ZONE \ --machine-type=MACHINE_TYPE \ --accelerator=type=nvidia-l4,count=AMOUNT,gpu-driver-version=LATEST \ --placement-type=COMPACT \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --local-ssd-count=LOCAL_SSD_COUNTG4(NVIDIA RTX PRO 6000)
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --region=REGION \ --node-locations=ZONE \ --machine-type=MACHINE_TYPE \ --accelerator=type=nvidia-rtx-pro-6000,count=AMOUNT,gpu-driver-version=LATEST \ --disk-type=hyperdisk-balanced \ --placement-type=COMPACT \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --local-ssd-count=LOCAL_SSD_COUNTG4 仮想ワークステーション(vWS)
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --region=REGION \ --node-locations=ZONE \ --machine-type=MACHINE_TYPE \ --accelerator=type=nvidia-rtx-pro-6000-vws,count=AMOUNT,gpu-driver-version=LATEST \ --disk-type=hyperdisk-balanced \ --placement-type=COMPACT \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --local-ssd-count=LOCAL_SSD_COUNT次のように置き換えます。
NODE_POOL_NAME: ノードプールの名前。CLUSTER_NAME: クラスタの名前。REGION: クラスタのリージョン。ZONE: リクエストされた GPU が使用可能なリージョン内の 1 つ以上のゾーン(us-central1-aなど)。コンパクト プレースメントを使用する場合は必須です。MACHINE_TYPE: ノードのマシンタイプ(G2 マシンの場合はg2-standard-4、G4 マシンの場合はg4-standard-48など)。AMOUNT: 各ノードに接続する GPU の数。LOCAL_SSD_COUNT: 各ノードでプロビジョニングするローカル SSD ボリュームの数。
クラスタに接続する
次のセクションで kubectl コマンドを実行できるように、クラスタに接続します。
gcloud container clusters get-credentials CLUSTER_NAME \
--region=REGION
次のように置き換えます。
CLUSTER_NAME: クラスタの名前。REGION: クラスタのリージョン。
詳細については、kubectl をインストールしてクラスタ アクセスを構成するをご覧ください。
Pod マニフェストを構成する(Autopilot のみ)
Autopilot クラスタを作成した場合は、GKE がハードウェアをプロビジョニングできるように、Pod マニフェストで適切な GPU を選択する必要があります。
ノードセレクタを使用して、選択した GPU タイプと特定の予約を指定します。
spec: nodeSelector: cloud.google.com/gke-accelerator: ACCELERATOR cloud.google.com/gke-gpu-driver-version: latest # Optional: Include if using reserved capacity cloud.google.com/reservation-name: RESERVATION_NAME cloud.google.com/reservation-affinity: "specific"次のように置き換えます。
ACCELERATOR: 予約したアクセラレータ。nvidia-l4(G2 の場合)、nvidia-rtx-pro-6000(G4 の場合)、nvidia-rtx-pro-6000-vws(仮想ワークステーションを使用する G4 の場合)を使用する必要があります。RESERVATION_NAME: Compute Engine の容量予約の名前。共有予約、または予約の特定のブロックとサブブロックを使用するには、予約済みゾーンパスリソースの使用の該当するセクションをご覧ください。
GPU をリクエストするコンテナに次のリソースを追加します。
containers: - name: my-container resources: limits: nvidia.com/gpu: AMOUNTAMOUNTは、各ノードに接続する GPU の数に置き換えます。