8.11. 仮想 Trusted Platform Module デバイスの使用
VirtualMachine (VM) または VirtualMachineInstance (VMI) マニフェストを編集して、仮想 Trusted Platform Module (vTPM) デバイスを新規または既存の仮想マシンに追加します。
OpenShift Virtualization 4.18 以降では、vTPM デバイスがアタッチされた 仮想マシン (VM) をエクスポート し、これらの仮想マシンのスナップショットを作成 して、これらのスナップショットから仮想マシンを復元 できます。ただし、vTPM デバイスがアタッチされた仮想マシンのクローン作成や、そのスナップショットからの新しい仮想マシンの作成はサポートされていません。
8.11.1. vTPM デバイスについて リンクのコピーリンクがクリップボードにコピーされました!
仮想トラステッドプラットフォームモジュール (vTPM) デバイスは、物理トラステッドプラットフォームモジュール (TPM) ハードウェアチップのように機能します。vTPM デバイスはどのオペレーティングシステムでも使用できますが、Windows 11 をインストールまたは起動するには TPM チップが必要です。
vTPM デバイスを使用すると、Windows 11 イメージから作成された VM を物理 TPM チップなしで機能させることができます。
OpenShift Virtualization は、仮想マシンの永続ボリューム要求 (PVC) を使用して、vTPM デバイス状態の永続化をサポートします。この PVC のストレージクラスを指定しない場合、OpenShift Virtualization は仮想化ワークロードのデフォルトのストレージクラスを使用します。仮想化ワークロードのデフォルトのストレージクラスが設定されていない場合、OpenShift Virtualization はクラスターのデフォルトのストレージクラスを使用します。
仮想化ワークロードのデフォルトとしてマークされているストレージクラスには、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}'
$ 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}'
$ oc get sc -o jsonpath='{range .items[?(.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")]}{.metadata.name}{"\n"}{end}'
一貫した動作を確保するには、仮想化ワークロードとクラスターに対して、デフォルトのストレージクラスをそれぞれ 1 つずつ設定します。
HyperConverged カスタムリソース (CR) で vmStateStorageClass 属性を設定することで、ストレージクラスを明示的に指定することが推奨されます。
vTPM を有効にしないと、ノードに TPM デバイスがある場合でも、VM は TPM デバイスを認識しません。
8.11.2. 仮想マシンへの vTPM デバイスの追加 リンクのコピーリンクがクリップボードにコピーされました!
仮想トラステッドプラットフォームモジュール (vTPM) デバイスを仮想マシン (VM) に追加すると、物理 TPM デバイスなしで Windows 11 イメージから作成された仮想マシンを実行できます。vTPM デバイスには、その仮想マシンのシークレットも保存されます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
次のコマンドを実行して、仮想マシン設定を更新します。
oc edit vm <vm_name> -n <namespace>
$ oc edit vm <vm_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 仮想マシン仕様を編集して vTPM デバイスを追加します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 変更を適用するには、エディターを保存し、終了します。
- オプション: 実行中の仮想マシンを編集している場合は、変更を有効にするためにこれを再起動する必要があります。