在机密 GKE 节点工作负载中运行 vTPM


本页面介绍如何在机密 Google Kubernetes Engine (GKE) Standard 区域级集群的工作负载中使用虚拟可信平台模块 (vTPM)。如需详细了解 vTPM,请参阅使用安全强化型 GKE 节点

概览

机密 GKE 节点工作负载中使用 vTPM 时,您可以创建集群并将 vTPM 公开给其工作负载。vTPM 可提供平台完整性以及其他安全功能,例如远程证明、Secret 密封和随机数生成。

准备工作

在开始之前,请确保您已执行以下任务:

  • 启用 Google Kubernetes Engine API。
  • 启用 Google Kubernetes Engine API
  • 如果您要使用 Google Cloud CLI 执行此任务,请安装初始化 gcloud CLI。 如果您之前安装了 gcloud CLI,请运行 gcloud components update 以获取最新版本。

要求

机密 GKE 节点工作负载中的 vTPM 需要 GKE 版本 1.26 及更高版本。

可用性

满足以下条件时,您可以使用机密 GKE 节点:

创建机密 GKE 节点集群

您可以使用 gcloud CLI 或 Google Cloud 控制台创建启用了机密 GKE 节点的新集群。如果在集群级层启用机密 GKE 节点,则集群中的所有节点都会成为机密虚拟机

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. 标准部分中,点击配置

  4. 在导航菜单的集群下,点击安全

  5. 选中启用机密 GKE 节点复选框。

  6. 如需配置集群的其他部分,请按照创建区域级集群中的说明操作。

  7. 点击创建

创建具有机密 GKE 节点的集群后,在此集群中创建的所有节点池都只能使用机密节点。您无法在启用了机密 GKE 节点的集群中创建常规节点池。您也无法在集群级启用机密 GKE 节点时在单个节点池上停用机密 GKE 节点。

在机密 GKE 节点工作负载中运行 vTPM

为了在机密 GKE 节点工作负载中运行 vTPM,Google 提供了一个应用到机密 GKE 节点集群的 DaemonSet。运行以下命令部署 DaemonSet:

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

配置 Pod 以查看 vTPM

您可以使用资源限制来配置 Pod,以查看 vTPM。使用以下键值对在 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

后续步骤