使用中の GPU ワークロード データを Confidential GKE Node で暗号化する


このページでは、暗号化された Confidential Google Kubernetes Engine Nodes でワークロードを実行して、使用中の GPU ワークロード データを暗号化する方法について説明します。また、これらの暗号化ノードで実行される GPU ワークロードに適用される制限事項と考慮事項についても説明します。

このページは、AI / ML タスクなどの高速化されたワークロードでデータのセキュリティを強化する必要があるセキュリティ エンジニアとオペレーターを対象としています。このページを読む前に、次の内容をよく理解しておいてください。

始める前に

作業を始める前に、次のタスクを完了済みであることを確認してください。

  • Google Kubernetes Engine API を有効にする。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得する。

対象

Confidential GKE Node を使用して GPU ワークロードを実行するには、次の条件をすべて満たす必要があります。

  • GKE Standard モードのクラスタを使用する必要があります。
  • クラスタとノードでは GKE のバージョン 1.32.2-gke.1297000 以降を実行する必要があります。
  • ノードは、NVIDIA Confidential Computing をサポートするゾーンに存在する必要があります。詳細については、サポートされているゾーンを表示するをご覧ください。
  • ノードは、Spot VM、プリエンプティブル VM、またはキューに格納されたプロビジョニングでの Flex Start を使用する必要があります。
  • キューに格納されたプロビジョニングで Flex Start を使用するには、クラスタで GKE バージョン 1.32.2-gke.1652000 以降を実行する必要があります。
  • ノードは、1 つの NVIDIA H100 80 GB GPU と a3-highgpu-1g マシンタイプのみを使用する必要があります。
  • ノードは Intel TDX Confidential Computing テクノロジーを使用する必要があります。
  • ノードのロケーションにプリエンプティブル H100 80 GPU(compute.googleapis.com/preemptible_nvidia_h100_gpus)の割り当てが必要です。割り当ての管理の詳細については、割り当ての表示と管理をご覧ください。

必要なロール

Confidential GKE Node の作成に必要な権限を取得するには、 Trusted Cloud プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

制限事項

  • Autopilot モードのクラスタはサポートされていません。
  • タイムシェアリングやマルチインスタンス GPU などの GPU 共有機能はサポートされていません。

Standard モードで Confidential GKE Node を有効にする

Standard モードのクラスタまたはノードプールで、Confidential GKE Node 上で GPU ワークロードを実行できます。Confidential GKE Node は、Intel TDX Confidential Computing テクノロジーを使用する必要があります。

新しい Standard クラスタで Confidential GKE Node を有効にする

Confidential GKE Nodes を使用する新しい Standard モードのクラスタを作成する場合は、次のクラスタ設定を指定してください。

  • ロケーション: NVIDIA Confidential Computing をサポートするリージョンまたはゾーン。詳細については、サポートされているゾーンを表示するをご覧ください。
  • Confidential Computing テクノロジー: Intel TDX
  • クラスタ バージョン: 1.32.2-gke.1297000 以降

手順については、Standard クラスタで Confidential GKE Node を有効にするをご覧ください。

新しい Standard ノードプールで Confidential GKE Node を有効にする

クラスタレベルで Confidential GKE Node が有効になっていない場合、新しいノードプールで Confidential GKE Node を有効にできます。クラスタは、対象セクションの要件を満たしている必要があります。

Confidential GKE Node を使用する新しい GPU ノードプールを作成するには、次のいずれかのオプションを選択します。

コンソール

  1. Kubernetes クラスタに移動

  2. 変更する Standard モードクラスタの名前をクリックします。
  3. [ノードプールを追加] をクリックします。[ノードプールの追加] ページが開きます。
  4. [ノードプールの詳細] ペインで、次の操作を行います。
    1. [ノードのロケーションを指定する] を選択します。
    2. 対象セクションに記載されているサポートされているゾーンのみを選択します。
    3. コントロール プレーンのバージョンが 1.32.2-gke.1297000 以降であることを確認します。
  5. ナビゲーション メニューで、[ノード] をクリックします。
  6. [ノード設定を構成する] ペインで、次の操作を行います。
    1. [マシンの構成] セクションで、[GPU] をクリックします。
    2. [GPU のタイプ] メニューで、[NVIDIA H100 80 GB] を選択します。
    3. [GPU の数] メニューで、1 を選択します。
    4. [GPU 共有を有効にする] がオフになっていることを確認します。
    5. [GPU ドライバのインストール] セクションで、[ユーザー管理] を選択します。
    6. [マシンタイプ] セクションで、マシンタイプが a3-highgpu-1g であることを確認します。
    7. [Spot VM 上にノードを作成する] をオンにします。
  7. ノードプールを作成する準備ができたら、[作成] をクリックします。

gcloud

Spot VM で Confidential GKE Node を実行する GPU ノードプールを作成できます。また、キューに格納されたプロビジョニングで Flex Start(プレビュー)を使用して作成することもできます。

  • Spot VM で Confidential GKE Node を実行する GPU ノードプールを作成します。

    gcloud container node-pools create NODE_POOL_NAME \
        --cluster=CLUSTER_NAME \
        --confidential-node-type=tdx --location=LOCATION \
        --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \
        --spot --accelerator=type=nvidia-h100-80gb,count=1,gpu-driver-version=disabled \
        --machine-type=a3-highgpu-1g
    

    次のように置き換えます。

    • NODE_POOL_NAME: 新しいノードプールの名前。
    • CLUSTER_NAME: 既存のクラスタの名前。
    • LOCATION: 新しいノードプールのロケーション。ロケーションは、Confidential GKE Node での GPU の使用をサポートしている必要があります。
    • NODE_LOCATION1,NODE_LOCATION2,...: ノードを実行するゾーンのカンマ区切りリスト。これらのゾーンは、NVIDIA Confidential Computing の使用をサポートしている必要があります。詳細については、サポートされているゾーンを表示するをご覧ください。
  • キューに格納されたプロビジョニングで Flex Start を使用して Confidential GKE Node を実行する GPU ノードプールを作成します(プレビュー)。

    gcloud container node-pools create NODE_POOL_NAME \
        --cluster=CLUSTER_NAME \
        --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \
        --machine-type=a3-highgpu-1g --confidential-node-type=tdx \
        --location=LOCATION \
        --flex-start --enable-queued-provisioning \
        --enable-autoscaling --num-nodes=0 --total-max-nodes=TOTAL_MAX_NODES \
        --location-policy=ANY --reservation-affinity=none --no-enable-autorepair \
        --accelerator=type=nvidia-h100-80gb,count=1,gpu-driver-version=disabled
    

    TOTAL_MAX_NODES は、ノードプールが自動的にスケーリングできるノードの最大数に置き換えます。

    キューに格納されたプロビジョニングでの Flex Start の構成オプションの詳細については、キューに格納されたプロビジョニングでの Flex Start で大規模なワークロードを実行するをご覧ください。

既存の Standard ノードプールで Confidential GKE Node を有効にする

クラスタレベルで Confidential GKE Node が有効になっていない場合、既存の Standard ノードプールを更新して Flex Start を使用できます。クラスタと既存のノードプールが、対象セクションに記載されている要件を満たしていることを確認します。

Intel TDX Confidential Computing テクノロジーを使用するようにノードプールを更新するには、既存のノードプールを更新するをご覧ください。

Confidential GKE Node をサポートする GPU ドライバをインストールする

GPU ノードプールで Confidential GKE Node を有効にした後、これらのノードで GPU ワークロードの実行をサポートするドライバをインストールする必要があります。

この変更を行うにはノードの再作成が必要になり、実行中のワークロードが中断する可能性があります。この変更について詳しくは、メンテナンス ポリシーに準拠せずにノード アップグレード戦略を使用してノードを再作成する手動変更の表で対応する行をご覧ください。ノードの更新の詳細については、ノードの更新による中断の計画をご覧ください。

手順については、NVIDIA GPU ドライバを手動でインストールするの [COS] タブをご覧ください。

トラブルシューティング

トラブルシューティング情報については、GKE での GPU のトラブルシューティングをご覧ください。

次のステップ