このドキュメントは、GDC 上の VM ランタイムで仮想マシン(VM)を実行するプラットフォーム管理者とアプリケーション オーナーを対象としています。このドキュメントでは、GDC 上の VM ランタイムを使用する仮想マシン(VM)において、デフォルトの BIOS 起動プロセスではなく、Unified Extensible Firmware Interface(UEFI)の起動プロセスを有効にする方法について説明します。このドキュメントでは、セキュアブートを有効にする方法と、エミュレートされた smbios
フィールドを設定する方法についても説明します。
始める前に
このドキュメントの内容を実施するには、次のリソースへのアクセス権が必要です。
- Google Distributed Cloud バージョン 1.12.0(
anthosBareMetalVersion: 1.12.0
)以降のクラスタへのアクセス権。ワークロードを実行可能な、どのクラスタタイプでも使用できます。必要に応じて、Compute Engine 上の Google Distributed Cloud を試すか、クラスタ作成の概要をご覧ください。
UEFI ブートを有効にする
UEFI ブートは、新しい VM と既存の VM の両方で有効にできます。既存の VM で UEFI ブートを有効にするには、VM に EFI パーティションが必要です。
VirtualMachine
を定義するマニフェストを作成するか、既存のVirtualMachine
のマニフェストを編集します。次の例に示すように、
VirtualMachine
マニフェストにfirmware
フィールドを追加します。apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: vm1 name: vm1 namespace: test-vm-ns spec: compute: cpu: vcpus: 2 memory: capacity: 4Gi interfaces: - name: eth0 networkName: pod-network default: true firmware: bootloader: type: "uefi" enableSecureBoot: false disks: - virtualMachineDiskName: disk-from-gcs boot: true readOnly: true
セキュアブートを有効にする
VM の UEFI ブートが有効になっている場合は、次のように enableSecureBoot
フィールドを true
に設定して、セキュアブートを有効にすることもできます。
firmware:
bootloader:
type: "uefi"
enableSecureBoot: true
セキュアブートの詳細については、Compute Engine ドキュメントのセキュアブートをご覧ください。
エミュレートされた smbios
フィールドを指定する
uuid
や serial
などのエミュレートされた smbios
フィールドは、下の例に示すように、VirtualMachine
マニフェストのファームウェア フィールドにそれらを追加することで設定できます。
firmware:
FIELD_NAME: FIELD_VALUE
FIELD_NAME: FIELD_VALUE
FIELD_NAME と FIELD_VALUE は、アプリケーションに必要な smbios
フィールドの名前と値に置き換えます。
UEFI ブートまたは BIOS ブートを使用する場合、エミュレートされた smbios
フィールドを設定できます。