6.11. 使用虚拟可信平台模块设备
通过编辑 VirtualMachine
(VM)或 VirtualMachineInstance
(VMI)清单,将虚拟 Trusted Platform 模块(vTPM)设备添加到新的或现有虚拟机中。
6.11.1. 关于 vTPM 设备
虚拟可信平台模块(vTPM)设备功能,如物理信任平台模块(TPM)硬件芯片。
您可以将 vTPM 设备与任何操作系统一起使用,但 Windows 11 需要存在 TPM 芯片用来安装或引导的 TPM 芯片。vTPM 设备允许从 Windows 11 镜像创建的虚拟机在没有物理 TPM 芯片的情况下正常工作。
如果没有启用 vTPM,则虚拟机无法识别 TPM 设备,即使节点有一个。
vTPM 设备还通过在没有物理硬件的情况下存储 secret 来保护虚拟机。OpenShift Virtualization 支持为虚拟机使用持久性卷声明 (PVC) 来持久保留 vTPM 设备状态。您必须通过在 HyperConverged
自定义资源 (CR) 中设置 vmStateStorageClass
属性来指定 PVC 使用的存储类:
kind: HyperConverged metadata: name: kubevirt-hyperconverged spec: vmStateStorageClass: <storage_class_name> # ...
存储类必须是 Filesystem
类型,并支持 ReadWriteMany
(RWX) 访问模式。
6.11.2. 将 vTPM 设备添加到虚拟机
将虚拟 Trusted Platform 模块(vTPM)设备添加到虚拟机(VM)可让您从 Windows 11 镜像创建的虚拟机,而无需物理 TPM 设备。vTPM 设备还存储该虚拟机的 secret。
先决条件
-
已安装 OpenShift CLI(
oc
)。 -
您已将持久性卷声明 (PVC) 配置为使用支持
ReadWriteMany
(RWX) 访问模式的Filesystem
类型的存储类。这是 vTPM 设备数据在虚拟机重启后保留所必需的。
流程
运行以下命令以更新虚拟机配置:
$ oc edit vm <vm_name> -n <namespace>
编辑虚拟机规格以添加 vTPM 设备。例如:
apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: example-vm spec: template: spec: domain: devices: tpm: 1 persistent: true 2 # ...
- 若要应用您的更改,请保存并退出编辑器。
- 可选:如果编辑了正在运行的虚拟机,您必须重启它才能使更改生效。