有了 GDC 的 VM 執行階段,您就能使用 KubeVirt,在 Google Distributed Cloud 的統一開發環境中執行及自動調度管理虛擬機器 (VM)。在本快速入門導覽課程中,您將使用 GDC 中的 VM 執行階段,在叢集上建立 VM。
事前準備
如要完成這項快速入門導覽課程,您必須具備 Google Distributed Cloud 1.12 版 (anthosBareMetalVersion: 1.12) 以上叢集的存取權。您可以使用任何能執行工作負載的叢集類型。如有需要,請在 Compute Engine 上試用 Google Distributed Cloud,或參閱叢集建立總覽。
啟用 GDC 的 VM 執行階段
GDC 的 VM 執行階段會自動安裝在 Google Distributed Cloud 1.10 以上版本,但預設為停用。您必須先在 GDC 啟用 VM Runtime,才能在 Google Distributed Cloud 執行 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。如果已啟用 GDC 中的 VM 執行階段,指令會傳回錯誤。
自訂資源
Google Distributed Cloud 1.10 以上版本可使用自訂資源定義,在 GDC 啟用 VM 執行階段。這項自訂資源預設會安裝。
編輯
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 vmruntimeVMRuntime自訂資源的詳細資料包含Status區段。當VMRuntime.Status.Ready顯示為true時,表示 GDC 的 VM 執行階段已啟用並正常運作。
安裝 virtctl 用戶端工具
如要建立及管理 VM,請安裝 virtctl 用戶端工具。
將
virtctl用戶端工具安裝為kubectl外掛程式: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,請檢查上一個bmctl install指令輸出內容中註明的install-virtctl.log檔案,例如bmctl-workspace/log/install-virtctl-[date]/install-virtctl.log。
建立 VM
在本快速入門導覽課程中,您將使用 kubectl CLI 建立 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 儲存空間類別,預設為 2 個 CPU、4Gi 記憶體,以及 ReadWriteOnce 模式的 20Gi 開機磁碟。替換下列值:
VM_NAME:VM 名稱。VM 名稱只能使用小寫英數字元或「-」,開頭和結尾須為英數字元,且長度不得超過 63 個字元。詳情請參閱 Kubernetes 說明文件中的 RFC 1123 標籤名稱。USERNAME:要在 VM 上建立的帳戶使用者名稱。PASSWORD:使用者帳戶的密碼。
如果收到 CLI 參數相關錯誤,請確認叢集版本為
1.11.1以上,且您使用的是最新版本virtctl用戶端工具。如要進一步瞭解 CLI 錯誤,請參閱控制台記錄。如要瞭解使用者名稱和密碼規則,請參閱訪客作業系統 (OS) 的說明文件。如果發生非預期的問題,請查看 VM Runtime on GDC 已知問題。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 控制台記錄。