このページでは、Google Distributed Cloud(GDC)エアギャップで新しい組織を作成し、Gemini を使用するようにその組織を構成する方法について説明します。
このページでは、顧客組織と Gemini 組織という、異なる概念を指す 2 つの用語を使用します。各用語は次のように定義されます。
- お客様の組織: ユーザーがワークロードを実行し、プラットフォーム インフラストラクチャにアクセスして、Vertex AI サービスを使用する GDC 組織。顧客組織の詳細については、顧客組織を作成するをご覧ください。
- Gemini 組織: Gemini モデルサーバーを実行するように構成された組織リソース。セキュリティ上の理由から、この組織ではユーザー ワークロードの実行は許可されていません。Gemini 組織内で実行できるのは、Google が承認したサードパーティ コードのみです。Gemini 組織は、マルチシングル テナント モデルに従う顧客組織とは別の組織です。このモデルでは、すべての顧客組織に独自の Gemini 組織が対応しています。
組織の違いの詳細については、Operator の概要をご覧ください。
始める前に
Gemini 組織を作成するには、次のものが必要です。
- お客様の組織が稼働している。
- システム内のブラウザ。
- Git コマンドライン インターフェース(CLI)。
- kubectl CLI。
- gdcloud CLI。
jqCLI ツールとyqCLI ツール。jqとyqを含むツール コンテナの設定の詳細については、OOPS-P0065 ランブックをご覧ください。- 必要なインフラストラクチャ オペレーター(IO)ロール。これらのロールの詳細については、IAM 権限を準備するをご覧ください。
また、デプロイ前のチェックを満たしていることを確認してください。
Gemini 組織を作成する
Gemini 組織を作成する手順は次のとおりです。
組織を作成するガイドに沿って、IAC を使用して IO ID プロバイダを組織に接続するまで進めます。このアクションにより、単一ゾーンで Gemini 組織として機能する別の組織が作成されます。組織を作成する際は、次のガイドラインに従ってください。
使用可能なサーバーの 1 つは、
d3-highgpu1-256-gdc-metalマシンクラスの Dell XE9680 サーバーである必要があります。IaC を使用して組織を作成するの手順の最初の手順では、使用可能なサーバーを確認するコマンドが提供されています。マシンクラスd3-highgpu1-256-gdc-metalのサーバーが使用できない場合は、動的拡張の概要でサーバー拡張のオプションを確認してください。次に、新しいワークロード サーバーを追加します。IaC を使用して組織を作成するときに、
Organizationカスタム リソースを作成した後、カスタム リソースにアノテーションorganizations.resourcemanager.private.gdc.goog/shared-service-cluster-skip-create-cluster: "true"を追加して、共有サービス クラスタの作成をスキップし、リソースを最適化します。単一のゾーンに
OrganizationZonalConfigカスタム リソースを作成します。このゾーンは Gemini ゾーンとして使用されます。顧客組織は同じゾーンに存在する必要がありますが、複数のゾーンにデプロイすることもできます。詳細については、Gemini のマルチゾーン デプロイモデルをご覧ください。
Gemini 組織の
Organizationカスタム リソースにlcm.private.gdc.goog/org-tenant="gemini"ラベルを追加します。KUBECONFIG=ROOT_ADMIN_KUBECONFIG_PATH GEMINI_ORG_NAME=GEMINI_ORGANIZATION_NAME kubectl label organization -n gpc-system ${GEMINI_ORG_NAME:?} \ lcm.private.gdc.goog/org-tenant="gemini" --kubeconfig ${KUBECONFIG:?}次のように置き換えます。
ROOT_ADMIN_KUBECONFIG_PATH: ルート管理クラスタの kubeconfig ファイルのパス。GEMINI_ORGANIZATION_NAME: Gemini 組織の名前。
Gemini 組織の組織インフラストラクチャ クラスタが稼働しているかどうかを確認します。
kubectl get cluster/${GEMINI_ORG_NAME:?}-admin -n ${GEMINI_ORG_NAME:?}次の出力は、
org-1という名前の Gemini 組織の例を示しています。NAMESPACE NAME ABM VERSION DESIRED ABM VERSION CLUSTER STATE org-1 org-1-admin 1.30.500-gke.128 1.30.500-gke.128 RunningGemini 組織の組織インフラストラクチャ クラスタ内に H200 GPU が構成されているすべてのワーカーノードを検索します。
KUBECONFIG=GEM_ORG_CP_KUBECONFIG_PATH kubectl --kubeconfig ${KUBECONFIG:?} get nodes \ -o json | jq -r \ '.items[] | select(.status.capacity."nvidia.com/gpu-pod-NVIDIA_H200"=="8") | .metadata.name'GEM_ORG_CP_KUBECONFIG_PATHは、Gemini 組織の組織インフラストラクチャ クラスタの kubeconfig ファイルのパスに置き換えます。前のコマンドで取得した H200 GPU を搭載したすべてのワーカーノードに
gemini.gdc.goog/large-gemini=trueラベルを適用します。NODE_NAME=H200_WORKER_NODE_NAME kubectl label node ${NODE_NAME:?} \ "gemini.gdc.goog/large-gemini=true" \ --kubeconfig ${KUBECONFIG:?}H200_WORKER_NODE_NAMEは、H200 GPU を搭載したワーカーノードの名前に置き換えます。
Gemini の操作可能なコンポーネントの機能ゲートをオーバーライドする
Gemini 組織のプロビジョニングが完了し、ステータスが READY であることを確認したら、機能ゲートをオーバーライドして、Gemini 組織または顧客組織で動作可能なコンポーネントを有効にする必要があります。
次の表に、機能ゲートをオーバーライドして操作可能なコンポーネントを有効にするために従う必要があるランブックの概要を示します。
| 操作可能なコンポーネント | ターゲット組織 | ランブックのリファレンス |
|---|---|---|
GEMINI |
Gemini 組織 | GEMINI-F0001 |
AICS |
お客様の組織 | AICS-F0001 |
GPU |
Gemini 組織 | GPU-F0001 |
暗号鍵を生成する
組織の暗号鍵の生成は 1 回限りのオペレーションです。コマンドを再実行すると、システムはアップロードされたモデルを復号できなくなります。鍵を生成するには、作成した新しい組織でジョブを実行する必要があります。
KUBECONFIG=GEM_ORG_CP_KUBECONFIG_PATH
kubectl --kubeconfig=${KUBECONFIG:?} -n gemini create job --from=cronjob/gemini-weights-transfer-keygen
ジョブが完了すると、次のコマンドを使用してキーを読み取ることができるようになります。
KUBECONFIG=GEM_ORG_CP_KUBECONFIG_PATH
kubectl --kubeconfig=${KUBECONFIG:?} -n gemini-system \
logs job.batch/gemini-weights-transfer-keygen \
| grep -oP '<PublicKey.*?</PublicKey>' | head -n 1