本页面介绍如何在机密 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 节点:
使用包含 containerd 的 Container-Optimized OS (
cos_containerd
) 的节点映像。
创建机密 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 机器类型。
控制台
转到 Google Cloud 控制台中的 Google Kubernetes Engine 页面。
点击 add_box 创建。
在标准部分中,点击配置。
在导航菜单的集群下,点击安全。
选中启用机密 GKE 节点复选框。
如需配置集群的其他部分,请按照创建区域级集群中的说明操作。
点击创建。
创建具有机密 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
后续步骤
- 详细了解虚拟可信平台模块。