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 - 変更を適用するには、エディターを保存し、終了します。
- オプション: 実行中の仮想マシンを編集している場合は、変更を有効にするためにこれを再起動する必要があります。