本頁說明如何管理 Google Distributed Cloud 上執行的虛擬機器,這些機器執行的是 Google Distributed Cloud 的 VM Runtime。完成本頁的步驟前,請務必先熟悉 GDC 上的 VM 執行階段。如需支援的客層作業系統清單,請參閱 GDC 上 VM 執行階段的已驗證客層作業系統。
如要瞭解虛擬機器如何做為 Distributed Cloud 平台的重要元件,請參閱「將 GKE Enterprise 擴充至內部部署邊緣 VM,以便進行管理」。
本機控制層叢集支援虛擬機器 Webhook。Distributed Cloud 即可藉此驗證向本機 Kubernetes API 伺服器發出的使用者要求。遭拒的要求會產生詳細資訊,說明遭拒原因。
在 Distributed Cloud 上啟用 GDC 支援的 VM Runtime
根據預設,Distributed Cloud 會停用 GDC 虛擬機器的 VM Runtime 支援功能。如要啟用這項功能,請完成本節中的步驟。本節的操作說明假設您已具備功能完整的 Distributed Cloud 叢集。
VMRuntime 資源會在 Distributed Cloud 上設定 GDC 支援的 VM 執行階段,並使用 enableGPU 參數在叢集上設定 GPU 支援。請務必根據工作負載需求設定這兩個參數。如要在 Distributed Cloud 叢集上啟用 GDC 支援的 VM Runtime,不需要啟用 GPU 支援。
下表說明可用的設定:
enable 值 |
enableGPU 值 |
產生的設定 |
|---|---|---|
false |
false |
工作負載只能在容器中執行,且無法使用 GPU 資源。 |
false |
true |
工作負載只會在容器中執行,且可使用 GPU 資源。 |
true |
true |
工作負載可在虛擬機器和容器中執行。 這兩種工作負載都可以使用 GPU 資源。 |
true |
false |
工作負載可在虛擬機器和容器中執行。 這兩種工作負載都無法使用 GPU 資源。 |
如果您已啟用 GPU 支援,請修改 VMRuntime 資源,加入 enable 參數,將其值設為 true,然後套用至 Distributed Cloud 叢集。
在 GDC 虛擬機器子系統上啟用 VM Runtime
視要啟用 VM Runtime on GDC 虛擬機器子系統的叢集類型而定,請執行下列其中一項操作:
- 如果是 Cloud 控制層叢集,您必須手動建立
VMRuntime資源。 - 如果是本機控制層叢集,您必須編輯現有的
VMRuntime資源。
如要在 GDC 虛擬機器子系統上啟用 VM Runtime,請完成下列步驟:
視目標叢集類型而定,建立或修改
VMRuntime自訂資源,內容如下,並將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Enable Anthos VM Runtime support enabled: true # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"
請勿變更
vmImageFormat參數的值。 Distributed Cloud 不支援任何其他虛擬磁碟格式。這項程序通常需要幾分鐘才能完成。
使用下列指令,確認
VMRuntime自訂資源已套用至叢集:kubectl get vmruntime -o yaml
指令會傳回類似以下範例的輸出內容:
- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime ... spec: enabled: true vmImageFormat: raw status: ... ready: true ...使用下列指令,確認叢集已啟用 GDC 虛擬機器支援的 VM Runtime:
kubectl get pods -n vm-system
指令會傳回輸出內容,顯示叢集上執行的 GDC 子系統 Pod 的 VM 執行階段,類似以下範例:
NAME READY STATUS RESTARTS AGE cdi-apiserver-6c76c6cf7b-n68wn 1/1 Running 0 132m cdi-deployment-f78fd599-vj7tv 1/1 Running 0 132m cdi-operator-65c4df9647-fcb9d 1/1 Running 0 134m cdi-uploadproxy-7765ffb694-6j7bf 1/1 Running 0 132m macvtap-fjfjr 1/1 Running 0 134m virt-api-77dd99dbbb-bs2fb 1/1 Running 0 132m virt-api-77dd99dbbb-pqc27 1/1 Running 0 132m virt-controller-5b44dbbbd7-hc222 1/1 Running 0 132m virt-controller-5b44dbbbd7-p8xkk 1/1 Running 0 132m virt-handler-n76fs 1/1 Running 0 132m virt-operator-86565697d9-fpxqh 2/2 Running 0 134m virt-operator-86565697d9-jnbt7 2/2 Running 0 134m vm-controller-controller-manager-7844d5fb7b-72d8m 2/2 Running 0 134m vmruntime-controller-manager-845649c847-m78r9 2/2 Running 0 175m
授予目標命名空間 Distributed Cloud 登錄檔的存取權
本節中的步驟僅適用於 Cloud 控制層叢集。如果您要在本機控制層叢集上設定 GDC 虛擬機器子系統的 VM Runtime,請略過本節。
如要在命名空間中建立虛擬機器,必須先授予該命名空間 Distributed Cloud 登錄的存取權。登錄檔會保留在目標命名空間中建立及部署虛擬機器所需的元件。請注意,您無法在為 Distributed Cloud 系統管理保留的命名空間中執行虛擬機器。詳情請參閱「管理命名空間限制」。
請完成下列步驟,授予目標命名空間 Distributed Cloud 登錄檔的存取權:
使用名為
gcr-pull的金鑰,修補目標命名空間中的預設服務帳戶:imagePullSecretkubectl patch sa default -p "{\"imagePullSecrets\": [{\"name\": \"gcr-pull\"}]}" -n NAMESPACE
將
NAMESPACE替換為目標命名空間的名稱。在目標命名空間中重新整理相關聯的密鑰:
# Delete existing secret. kubectl delete secret gcr-pull -n NAMESPACE --ignore-not-found # Copy the new secret to the target namespace. kubectl get secret gcr-pull -n vm-system -o yaml | sed "s/namespace: vm-system/namespace: NAMESPACE/g" | kubectl apply -f -
將
NAMESPACE替換為目標命名空間的名稱。密鑰會在 1 小時後失效。過期後必須手動重新整理。
安裝 virtctl 管理工具
您需要 virtctl 用戶端工具,才能管理 Distributed Cloud Cluster 上的虛擬機器。如要安裝這項工具,請完成下列步驟:
將
virtctl用戶端工具安裝為kubectl外掛程式:export VERSION=v0.49.0-anthos1.12-gke.7 gcloud storage cp gs://anthos-baremetal-release/virtctl/${VERSION}/linux-amd64/virtctl /usr/local/bin/virtctl cd /usr/local/bin sudo ln -s virtctl kubectl-virt sudo chmod a+x virtctl cd -
確認已安裝
virt外掛程式:kubectl plugin list
如果外掛程式安裝成功,指令輸出內容會將
kubectl-virt列為外掛程式之一。
在 Distributed Cloud 上佈建虛擬機器,並使用原始區塊儲存空間
本節提供設定範例,說明如何使用原始區塊儲存空間,在 Distributed Cloud 叢集上佈建 Linux 虛擬機器和 Windows 虛擬機器。這些範例使用以 PersistentVolume 例項化的區塊儲存空間。
使用原始區塊儲存空間的限制
在 Distributed Cloud 上使用原始區塊儲存空間執行虛擬機器時,適用下列限制:
- Cloud 控制層叢集上的
VirtualMachine資源規格不支援OSType欄位。因此,只有console和vnc方法支援存取在 Cloud 控制層叢集上執行的虛擬機器。 - 您無法直接使用
kubectl virt指令在 Distributed Cloud 叢集上建立虛擬機器,因為 Distributed Cloud 不會為虛擬機器提供檔案系統儲存空間。 - 區塊儲存空間
PersistenVolumeClaim資源不支援qcow2磁碟映像檔格式。 - Containerized Data Importer (CDI) 外掛程式不支援區塊儲存空間的
DataVolume資源,因為外掛程式的暫存空間只能在檔案系統儲存空間運作。詳情請參閱「暫存空間」。
在 Distributed Cloud 上佈建具有原始區塊儲存空間的 Linux 虛擬機器
以下範例說明如何佈建 Linux 虛擬機器,並使用執行 Ubuntu Server 22.04 的原始區塊儲存空間。安裝來源是 Ubuntu Server 22.04 ISO 磁碟映像檔。
使用下列內容建立 Ubuntu Server 安裝光碟映像檔的
PersistentVolumeClaim資源,然後將其套用至叢集:apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: containerized-data-importer name: iso-ubuntu annotations: cdi.kubevirt.io/storage.import.endpoint: "https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso" spec: accessModes: - ReadWriteOnce storageClassName: local-block volumeMode: Block resources: requests: storage: 5Gi
為虛擬機器的虛擬硬碟建立
PersistentVolumeClaim資源,內容如下,然後將其套用至叢集:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: ubuntuhd spec: accessModes: - ReadWriteOnce resources: requests: storage: 15Gi storageClassName: local-block volumeMode: Block
使用下列內容建立 Ubuntu Server 安裝光碟映像檔的
VirtualMachineDisk資源,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-iso-disk" spec: persistentVolumeClaimName: iso-ubuntu diskType: cdrom
為虛擬機器的虛擬硬碟建立
VirtualMachineDisk資源,內容如下,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: persistentVolumeClaimName: ubuntuhd
建立
VirtualMachineType資源,其中包含指定虛擬機器設定的下列內容,然後將該資源套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
建立
VirtualMachine資源,其中包含在叢集上例項化及啟動虛擬機器的內容,然後將該資源套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
osType欄位僅適用於本機控制層叢集。在本地控制層叢集上,必須啟用此功能才能設定下列功能:在虛擬機器上安裝 Ubuntu Server:
- 等待
importerPod 下載 Ubuntu Server 安裝光碟映像檔。 檢查虛擬機器的狀態:
kubectl get gvm VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。登入虛擬機器:
kubectl virt vnc VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。完成 Ubuntu Linux 安裝步驟。
- 等待
清除所用資源:
停止虛擬機器:
kubectl virt stop VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。編輯虛擬機器的 YAML 檔案,移除安裝光碟映像檔的參照:
kubectl edit gvm VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。啟動虛擬機器:
kubectl virt start VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。刪除安裝磁碟映像檔的
VirtualMachineDisk和PersistentVolumeClaim資源:kubectl delete virtualmachinedisk ubuntu-iso-disk kubectl delete pvc iso-ubuntu
在 Distributed Cloud 上佈建具有原始區塊儲存空間的 Windows 虛擬機器
以下範例說明如何使用原始區塊儲存空間佈建 Windows 虛擬機器。步驟與佈建 Linux 虛擬機器類似,但需要額外新增 virtio 驅動程式磁碟映像檔,這是安裝 Windows 的必要條件。
取得 Windows 授權副本和安裝媒體映像檔。
為 Windows 安裝光碟映像檔建立
PersistentVolumeClaim資源,內容如下,然後將其套用至叢集。如需操作說明,請參閱「從圖片」一節。為
virtio驅動程式建立PersistentVolumeClaim資源,並加入以下內容,然後將其套用至叢集:apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app: containerized-data-importer name: virtio-driver annotations: cdi.kubevirt.io/storage.import.endpoint: "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso" spec: accessModes: - ReadWriteOnce storageClassName: local-block volumeMode: Block resources: requests: storage: 1Gi
為虛擬機器的虛擬硬碟建立
PersistentVolumeClaim資源,內容如下,然後將其套用至叢集:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: windowshd spec: accessModes: - ReadWriteOnce resources: requests: storage: 15Gi storageClassName: local-block volumeMode: Block
為 Windows 安裝光碟映像檔建立
VirtualMachineDisk資源,其中包含下列內容,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "windows-iso-disk" spec: persistentVolumeClaimName: iso-windows diskType: cdrom
為
virtio驅動程式建立VirtualMachineDisk資源,並加入以下內容,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "win-virtio-driver" spec: persistentVolumeClaimName: virtio-driver diskType: cdrom
為虛擬機器的虛擬硬碟建立
VirtualMachineDisk資源,內容如下,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "windows-main-disk" spec: persistentVolumeClaimName: windowshd
建立
VirtualMachineType資源,其中包含指定虛擬機器設定的下列內容,然後將該資源套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
建立
VirtualMachine資源,其中包含在叢集上例項化及啟動虛擬機器的內容,然後將該資源套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
osType欄位僅適用於本機控制層叢集。在本地控制層叢集上,必須啟用此功能才能設定下列功能:在虛擬機器上安裝 Windows:
- 等待
importerPod 下載 Windows 安裝光碟映像檔。 檢查虛擬機器的狀態:
kubectl get gvm VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為win-vm。按照「連線至 Windows VM 並完成 OS 安裝程序」中的步驟,完成 Windows 安裝程序。
- 等待
清除所用資源:
停止虛擬機器:
kubectl virt stop VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為win-vm。完成「卸載 ISO 映像檔和驅動程式磁碟」中的步驟。
在 Distributed Cloud 上佈建虛擬機器,並使用 Symcloud Storage
本節提供設定範例,說明如何使用 Symcloud Storage 抽象層,在 Distributed Cloud 叢集上佈建 Linux 虛擬機器和 Windows 虛擬機器。
完成本節中的步驟之前,請先完成「為 Symcloud Storage 設定 Distributed Cloud」中的步驟。如果之後停用叢集上的 Symcloud Storage,設定為使用 Symcloud Storage 的虛擬機器就會失敗。
在 Distributed Cloud 上使用 Symcloud Storage 佈建 Linux 虛擬機器
以下範例說明如何佈建 Linux 虛擬機器,並在 Ubuntu Server 22.04 上執行 Symcloud Storage。安裝來源是 Ubuntu Server 22.04 ISO 磁碟映像檔。
使用下列內容建立 Ubuntu Server 安裝光碟映像檔的
VirtualMachineDisk資源,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: ubuntu-iso-disk spec: size: 20Gi storageClassName: robin diskType: cdrom source: http: url: https://releases.ubuntu.com/jammy/ubuntu-22.04.3-live-server-amd64.iso
為虛擬機器的虛擬硬碟建立
VirtualMachineDisk資源,內容如下,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: "ubuntu-main-disk" spec: size: 200Gi storageClassName: robin
建立
VirtualMachineType資源,其中包含指定虛擬機器設定的下列內容,然後將該資源套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
建立
VirtualMachine資源,其中包含在叢集上例項化及啟動虛擬機器的內容,然後將該資源套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: ubu-vm name: ubu-vm # Propagate the virtual machine name to the VMI spec: osType: Linux compute: virtualMachineTypeName: small-2-20 interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: ubuntu-main-disk boot: true - virtualMachineDiskName: ubuntu-iso-disk
osType欄位僅適用於本機控制層叢集。在本地控制層叢集上,必須啟用此功能才能設定下列功能:在虛擬機器上安裝 Ubuntu Server:
- 等待
importerPod 下載 Ubuntu Server 安裝光碟映像檔。 檢查虛擬機器的狀態:
kubectl get gvm VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。登入虛擬機器:
kubectl virt vnc VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。完成 Ubuntu Linux 安裝步驟。
- 等待
清除所用資源:
停止虛擬機器:
kubectl virt stop VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。編輯虛擬機器的 YAML 檔案,移除安裝光碟映像檔的參照:
kubectl edit gvm VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。啟動虛擬機器:
kubectl virt start VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為ubu-vm。刪除安裝光碟映像檔的
VirtualMachineDisk資源:kubectl delete virtualmachinedisk ubuntu-iso-disk
在 Distributed Cloud 上佈建 Windows 虛擬機器,並搭配使用 Symcloud Storage
以下範例說明如何使用 Symcloud Storage 佈建 Windows 虛擬機器。步驟與佈建 Linux 虛擬機器類似,但需要額外新增 virtio 驅動程式磁碟映像檔,這是安裝 Windows 的必要條件。
取得 Windows 授權副本和安裝媒體映像檔。
為 Windows 安裝光碟映像檔建立
VirtualMachineDisk資源,其中包含下列內容,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso-disk namespace: default spec: size: 5Gi storageClassName: robin diskType: cdrom source: http: url: WINDOWS_ISO_URL
將
NAT_GATEWAY替換為目標 Windows 安裝 ISO 磁碟映像檔的完整網址。為
virtio驅動程式建立VirtualMachineDisk資源,並加入以下內容,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-virtio-driver namespace: default spec: size: 1Gi storageClassName: robin diskType: cdrom source: http: url: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
為虛擬機器的虛擬硬碟建立
VirtualMachineDisk資源,內容如下,然後將其套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-main-disk namespace: default spec: size: 15Gi storageClassName: robin
建立
VirtualMachineType資源,其中包含指定虛擬機器設定的下列內容,然後將該資源套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: small-2-20 spec: cpu: vcpus: 2 memory: capacity: 20Gi
建立
VirtualMachine資源,其中包含在叢集上例項化及啟動虛擬機器的內容,然後將該資源套用至叢集:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: labels: kubevirt.io/vm: win-vm name: win-vm # Propagate the virtual machine name to the VMI spec: osType: Windows compute: virtualMachineTypeName: my-vmt interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: windows-main-disk boot: true - virtualMachineDiskName: windows-iso-disk - virtualMachineDiskName: win-virtio-driver
osType欄位僅適用於本機控制層叢集。在本地控制層叢集上,必須啟用此功能才能設定下列功能:在虛擬機器上安裝 Windows:
- 等待
importerPod 下載 Windows 安裝光碟映像檔。 檢查虛擬機器的狀態:
kubectl get gvm VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為win-vm。按照「連線至 Windows VM 並完成 OS 安裝程序」中的步驟,完成 Windows 安裝程序。
- 等待
清除所用資源:
停止虛擬機器:
kubectl virt stop VM_NAME
將
VM_NAME替換為虛擬機名稱,在本例中為win-vm。完成「卸載 ISO 映像檔和驅動程式磁碟」中的步驟。
使用 virtctl 在 Distributed Cloud 上佈建虛擬機器
如果您不需要自訂虛擬機器的資源規格,可以使用 virtctl 指令列工具在 Distributed Cloud 上佈建虛擬機器,如「建立 VM」一文所述。
管理在 Distributed Cloud 上執行的虛擬機器
如要瞭解如何管理在 Distributed Cloud 上執行的虛擬機器,請參閱下列 VM Runtime on GDC 說明文件:
如要管理在本機控制平面叢集上執行的虛擬機器,請先設定 kubectl 連線。
設定 ttyS0 裝置,以便透過序列埠連線存取 Linux 虛擬機器
如果您打算使用序列埠控制台 (kubectl virt console) 存取 Linux 虛擬機器,請務必在客層作業系統上設定 ttyS0 序列埠控制台裝置。如要設定這部裝置,請完成下列步驟:
在系統中例項化
ttyS0序列裝置:setserial -g /dev/ttyS0
將下列幾行內容新增至
/etc/default/grub設定檔,設定grub系統啟動載入程式使用ttyS0序列裝置。第一行會取代現有的GRUB_CMDLINE_LINUX變數。GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,19200n8' GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1"
將新的
grub設定套用至開機磁區:update-grub
重新啟動虛擬機器。
在 Distributed Cloud 上停用 GDC 的 VM Runtime
請按照本節中的步驟,在 Distributed Cloud 上停用 GDC 的 VM Runtime。如要停用 Distributed Cloud 上的 GDC VM Runtime,請務必先停止並刪除 Distributed Cloud 叢集上的所有虛擬機器,如「刪除 VM」一文所述。
如要在 Distributed Cloud 上停用 GDC 的 VM Runtime,請將 VMRuntime 自訂資源的 enabled spec 參數設為 false,如下所示,然後套用至叢集:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: # Disable Anthos VM Runtime enabled: false # vmImageFormat defaults to "raw" if not set vmImageFormat: "raw"