9.15. 使用虚拟受信任的平台模块(vTPM)设备


要运行需要受信任的平台模块的 Windows 11 或其他工作负载,您可以在新的或现有虚拟机中添加虚拟 TPM (vTPM)。通过编辑 VirtualMachineVirtualMachineInstance 清单来启用它。

重要

使用 OpenShift Virtualization 4.18 及更新版本,您可以使用附加的 vTPM 设备导出虚拟机(VM),创建这些虚拟机的快照,并从这些快照中恢复虚拟机。但是,不支持克隆附加了 vTPM 设备的虚拟机,也不支持使用其快照创建一个新的虚拟机。

9.15.1. 关于 vTPM 设备

虚拟可信平台模块(vTPM)设备功能,如物理信任平台模块(TPM)硬件芯片。您可以将 vTPM 设备与任何操作系统一起使用,但 Windows 11 需要存在 TPM 芯片用来安装或引导的 TPM 芯片。

vTPM 设备允许从 Windows 11 镜像创建的虚拟机在没有物理 TPM 芯片的情况下正常工作。

OpenShift Virtualization 支持为虚拟机使用持久性卷声明 (PVC) 来持久保留 vTPM 设备状态。如果没有为这个 PVC 指定存储类,OpenShift Virtualization 将默认存储类用于虚拟化工作负载。如果没有设置虚拟化工作负载的默认存储类,OpenShift Virtualization 会将默认存储类用于集群。

注意

为虚拟化工作负载标记为 default 的存储类会将注解 storageclass.kubevirt.io/is-default-virt-class 设置为 "true"。您可以运行以下命令来找到这个存储类:

$ oc get sc -o jsonpath='{range .items[?(.metadata.annotations.storageclass\.kubevirt\.io/is-default-virt-class=="true")]}{.metadata.name}{"\n"}{end}'

同样,集群的默认存储类会将注解 storageclass.kubernetes.io/is-default-class 设置为 "true"。要找到这个存储类,请运行以下命令:

$ oc get sc -o jsonpath='{range .items[?(.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")]}{.metadata.name}{"\n"}{end}'

为确保一致的行为,请分别配置一个存储类作为虚拟化工作负载和集群的默认值。

建议您通过在 HyperConverged 自定义资源(CR)中设置 vmStateStorageClass 属性来显式指定存储类:

kind: HyperConverged
metadata:
  name: kubevirt-hyperconverged
spec:
  vmStateStorageClass: <storage_class_name>

# ...

如果没有启用 vTPM,则虚拟机无法识别 TPM 设备,即使节点有一个。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部