本快速入門導覽課程說明如何使用 GDC 的 VM Runtime,在 Google Distributed Cloud 上建立虛擬機器 (VM)。GDC 的 VM Runtime 會使用 KubeVirt 協調叢集上的 VM,讓您在統一的開發環境中處理以 VM 為基礎的應用程式和工作負載。
事前準備
如要完成本快速入門導覽課程,您需要存取 Google Distributed Cloud 1.12 版 (anthosBareMetalVersion: 1.12) 以上的叢集。您可以使用任何可執行工作負載的叢集類型。如有需要,請在 Compute Engine 上試用 Google Distributed Cloud,或參閱叢集建立總覽。
在 GDC 上啟用 VM Runtime
在 Google Distributed Cloud 1.10 以上版本中,系統會自動安裝 GDC 上的 VM 執行階段,但預設為停用。您必須先在 Google Distributed Cloud 上啟用 VM Runtime,才能執行 VM 資源。
bmctl
Google Distributed Cloud 1.11 以上版本可以使用 bmctl 指令列工具:
- 如要啟用執行階段,請使用 - bmctl工具:- bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH- 提供叢集的 kubeconfig 檔案路徑。 建立叢集時,Google Distributed Cloud 會在管理工作站上產生 kubeconfig 檔案。預設路徑為 - bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig。- 如果已啟用 VM Runtime on GDC,指令會傳回錯誤。 
自訂資源
Google Distributed Cloud 1.10 以上版本可使用自訂資源定義,在 GDC 上啟用 VM Runtime。這項自訂資源預設會安裝。
- 編輯 - VMRuntime自訂資源:- kubectl edit vmruntime
- 在規格中設定 - enabled:true:- apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true # useEmulation defaults to "false" if not set. useEmulation: true # vmImageFormat defaults to "qcow2" if not set. vmImageFormat: qcow2- 在上述 - spec區段中,可以設定下列值:- enabled:設為 true,即可在 GDC 上啟用 VM 執行階段
- useEmulation:如果節點不支援硬體虛擬化,或您不確定,請將值設為 true。如果可以,硬體虛擬化提供的效能會比軟體模擬更好。如未指定,- useEmulation欄位預設為- false。
- vmImageFormat:支援兩個磁碟映像檔格式值:- raw和- qcow2。如果未設定- vmImageFormat,GDC 上的 VM 執行階段會使用- raw磁碟映像檔格式建立 VM。- raw格式的效能可能優於- qcow2(寫入時複製格式),但可能會佔用更多磁碟空間。如要進一步瞭解 VM 的映像檔格式,請參閱 QEMU 說明文件中的「磁碟映像檔格式」。
 
- 在編輯器中儲存自訂資源。 
- 確認已啟用 - VMRuntime自訂資源:- kubectl describe vmruntime vmruntime- VMRuntime自訂資源的詳細資料包括- Status區段。 當- VMRuntime.Status.Ready顯示為- true時,表示 GDC 的 VM Runtime 已啟用並正常運作。
安裝 virtctl 用戶端工具
如要建立及管理 VM,請安裝 virtctl 用戶端工具。
- 以 - kubectl外掛程式的形式安裝- virtctl用戶端工具:- export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctl- 您可以使用憑證驗證身分並下載 - virtctl用戶端工具,然後在本機電腦上安裝- /usr/bin/kubectl-virt。
- 確認已安裝 - virtctl外掛程式:- kubectl plugin list- 如果回應中列出 - kubectl-virt,表示外掛程式已成功安裝。- 如果未列出 - kubectl-virt,請檢查- install-virtctl.log檔案,如先前- bmctl install指令的輸出內容所示,例如- bmctl-workspace/log/install-virtctl-[date]/install-virtctl.log。
建立 VM
在本快速入門導覽課程中,您將使用 kubectl CLI 建立 VM,該 VM 會使用公開 VM 映像檔和預設憑證。
- 在叢集中建立 VM。 - virtctl外掛程式會搭配- kubectl指令使用:- kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --configure-initial-password USERNAME:PASSWORD- 這個指令會建立 Ubuntu 20.04 VM,並使用 local-shared 儲存空間類別,以 ReadWriteOnce 模式預設配置 2 個 CPU、4Gi 記憶體和 20Gi 開機磁碟。替換下列值: - VM_NAME:VM 名稱。VM 名稱只能包含小寫英數字元或「-」,開頭和結尾須為英數字元,且最多只能有 63 個字元。詳情請參閱 Kubernetes 說明文件中的 RFC 1123 標籤名稱。
- USERNAME:要在 VM 上建立的帳戶使用者名稱。
- PASSWORD:使用者帳戶的密碼。
 - 如果收到有關 CLI 參數的錯誤訊息,請確認叢集版本為 - 1.11.1以上,且您使用的是最新版- virtctl用戶端工具。如要進一步瞭解 CLI 錯誤,請參閱控制台記錄。如需使用者名稱和密碼規則,請參閱客體作業系統 (OS) 的說明文件。如有任何功能無法正常運作,請查看 GDC 已知問題中的 VM Runtime。
- 建立 VM 可能需要幾分鐘的時間。使用 - kubectl指令檢查 VM 的狀態:- kubectl get gvm- 以下輸出範例顯示 VM 處於 - Running狀態:- NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
連線至 VM
VM 執行時,請連線至 VM 的控制台。
- 如要從控制台存取 VM,請使用 - kubectl:- kubectl virt console VM_NAME
- 系統顯示提示時,請輸入您在建立 VM 時指定的使用者憑證。 
- 成功連線至 VM 的控制台後,請結束 VM 工作階段和控制台: - Ctrl + ]
清除所用資源
如要清除在本快速入門中建立的資源,請按照下列步驟操作。
- 如要刪除 VM 和相關聯的 DataVolume,請使用 - kubectl:- kubectl virt delete vm VM_NAME --all
後續步驟
- 管理 Google Distributed Cloud 中 VM 的電源狀態。
- 在 Google Distributed Cloud 中編輯 VM。
- 在 Google Distributed Cloud 中查看 VM 控制台記錄。