×

通过编辑VirtualMachine (VM) 或VirtualMachineInstance (VMI) 清单,将虚拟可信平台模块 (vTPM) 设备添加到新的或现有的虚拟机。

关于 vTPM 设备

虚拟可信平台模块 (vTPM) 设备的功能类似于物理可信平台模块 (TPM) 硬件芯片。

您可以将 vTPM 设备与任何操作系统一起使用,但 Windows 11 需要 TPM 芯片才能安装或启动。vTPM 设备允许从 Windows 11 镜像创建的虚拟机在没有物理 TPM 芯片的情况下运行。

如果不启用 vTPM,则即使节点具有 TPM 设备,虚拟机也不会识别该设备。

vTPM 设备还可以通过存储机密信息而无需物理硬件来保护虚拟机。OpenShift Virtualization 支持使用持久卷声明 (PVC) 来持久化 vTPM 设备状态。必须通过在HyperConverged 自定义资源 (CR) 中设置vmStateStorageClass 属性来指定 PVC 要使用的存储类。

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

# ...

存储类必须是Filesystem类型并支持ReadWriteMany (RWX) 访问模式。

将 vTPM 设备添加到虚拟机

将虚拟可信平台模块 (vTPM) 设备添加到虚拟机 (VM) 允许您在没有物理 TPM 设备的情况下运行从 Windows 11 映像创建的虚拟机。vTPM 设备还存储该虚拟机的密钥。

先决条件
  • 您已安装 OpenShift CLI (oc)。

  • 您已配置持久卷声明 (PVC) 以使用类型为 Filesystem 的存储类,该存储类支持 ReadWriteMany (RWX) 访问模式。这对于 vTPM 设备数据在虚拟机重启后仍然存在是必要的。

步骤
  1. 运行以下命令来更新虚拟机配置:

    $ oc edit vm <vm_name> -n <namespace>
  2. 编辑虚拟机规范以添加 vTPM 设备。例如:

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
        name: example-vm
    spec:
      template:
        spec:
          domain:
            devices:
              tpm:  (1)
                persistent: true (2)
    # ...
    1 将 vTPM 设备添加到虚拟机。
    2 指定虚拟机关闭后 vTPM 设备状态保持不变。默认值为 false
  3. 要应用更改,请保存并退出编辑器。

  4. 可选:如果您编辑的是正在运行的虚拟机,则必须重新启动它才能使更改生效。