Confidential GKE Node ワークロードで vTPM を実行する


このページでは、Confidential Google Kubernetes Engine(GKE)Standard リージョン クラスタのワークロードで仮想トラステッド プラットフォーム モジュール(vTPM)を使用する方法について説明します。vTPM の詳細については、シールドされた GKE ノードの使用をご覧ください。

概要

Confidential GKE Node のワークロードで vTPM を使用すると、クラスタを作成して vTPM をそれらのクラスタのワークロードに公開できます。vTPM とその他のセキュリティ機能(リモート認証、Secret シーリング、乱数の生成など)により、プラットフォームの完全性が実現します。

始める前に

始める前に、次の作業が完了していることを確認してください。

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

要件

Confidential GKE Node ワークロードの vTPM には、GKE バージョン 1.26 以降が必要です。

対象

Confidential GKE Node は、次の条件で使用できます。

Confidential GKE Node クラスタを作成する

gcloud CLI または Google Cloud コンソールを使用して、Confidential GKE Node が有効になっている新しいクラスタを作成できます。クラスタレベルで Confidential GKE Node を有効にすると、クラスタ内のすべてのノードが Confidential VMs になります。

gcloud

新しいクラスタを作成するときに、次のコマンドで --enable-confidential-nodes オプションを指定します。

gcloud container clusters create CLUSTER_NAME \
    --machine-type=MACHINE_TYPE \
    --enable-confidential-nodes

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

  • CLUSTER_NAME: 新しいクラスタの名前。
  • MACHINE_TYPE: クラスタのデフォルト ノードプールのマシンタイプ。N2D マシンタイプまたは C2D マシンタイプである必要があります。

コンソール

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. [ 作成] をクリックします。

  3. [Standard] セクションで [構成] をクリックします。

  4. ナビゲーション メニューの [クラスタ] で [セキュリティ] をクリックします。

  5. [Confidential GKE Node を有効にする] チェックボックスをオンにします。

  6. クラスタの他のセクションを構成するには、リージョン クラスタの作成の手順に沿って操作します。

  7. [作成] をクリックします。

Confidential GKE Node を使用してクラスタを作成すると、このクラスタ内で作成されたノードプールは機密ノードしか使用できません。Confidential GKE Node が有効になっているクラスタには、通常のノードプールを作成できません。また、クラスタレベルで Confidential GKE Node を有効にすると、個々のノードプールで Confidential GKE Node を無効にできません。

Confidential GKE Node ワークロードで vTPM を実行する

Confidential GKE Node ワークロードで vTPM を実行するために、Google は Confidential GKE Node クラスタに適用する DaemonSet を提供しています。次のコマンドを実行して DaemonSet をデプロイします。

kubectl create -f https://raw.githubusercontent.com/google/cc-device-plugin/main/manifests/cc-device-plugin.yaml

vTPM を認識するように Pod を構成する

リソース上限を使用して、Pod が vTPM を認識するように構成します。次の Key-Value ペアを使用して、Pod 仕様でリソース制限を 1 に指定します。

  • キー: google.com/cc
  • 値: 1

vTPM を使用する Pod 仕様の例:

apiVersion: v1
kind: Pod
metadata:
  name: my-vtpm-pod
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 8080
      name: http
    resources:
      limits:
        google.com/cc: 1

次のステップ