7.11. 仮想 Trusted Platform Module デバイスの使用
VirtualMachine
(VM) または VirtualMachineInstance
(VMI) マニフェストを編集して、仮想 Trusted Platform Module (vTPM) デバイスを新規または既存の仮想マシンに追加します。
7.11.1. vTPM デバイスについて
仮想トラステッドプラットフォームモジュール (vTPM) デバイスは、物理トラステッドプラットフォームモジュール (TPM) ハードウェアチップのように機能します。
vTPM デバイスはどのオペレーティングシステムでも使用できますが、Windows 11 をインストールまたは起動するには TPM チップが必要です。vTPM デバイスを使用すると、Windows 11 イメージから作成された VM を物理 TPM チップなしで機能させることができます。
vTPM を有効にしないと、ノードに TPM デバイスがある場合でも、VM は TPM デバイスを認識しません。
また、vTPM デバイスは、物理ハードウェアを使用せずにシークレットを保存することで仮想マシンを保護します。OpenShift Virtualization は、仮想マシンの永続ボリューム要求 (PVC) を使用して、vTPM デバイス状態の永続化をサポートします。HyperConverged
カスタムリソース (CR) で vmStateStorageClass
属性を設定することにより、PVC が使用するストレージクラスを指定する必要があります。
kind: HyperConverged metadata: name: kubevirt-hyperconverged spec: vmStateStorageClass: <storage_class_name> # ...
ストレージクラスは Filesystem
タイプであり、ReadWriteMany
(RWX) アクセスモードをサポートしている必要があります。
7.11.2. 仮想マシンへの vTPM デバイスの追加
仮想トラステッドプラットフォームモジュール (vTPM) デバイスを仮想マシン (VM) に追加すると、物理 TPM デバイスなしで Windows 11 イメージから作成された仮想マシンを実行できます。vTPM デバイスには、その仮想マシンのシークレットも保存されます。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
ReadWriteMany
(RWX) アクセスモードをサポートするFilesystem
タイプのストレージクラスを使用するように永続ボリューム要求 (PVC) を設定しました。これは、仮想マシンの再起動後も 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 # ...
- 変更を適用するには、エディターを保存し、終了します。
- オプション: 実行中の仮想マシンを編集している場合は、変更を有効にするためにこれを再起動する必要があります。