建立 VM 執行個體時,Distributed Cloud 會自動建立具有預設設定的開機永久磁碟。您也必須為 VM 建立開機磁碟。您可以使用公開或自訂映像檔。
如果執行個體需要其他資料儲存磁碟,請將永久磁碟新增至 VM。
本文適用於平台管理員或應用程式運算子群組的開發人員,他們會為 VM 建立自訂開機磁碟。詳情請參閱 GDC 實體隔離說明文件的目標對象。
事前準備
如要使用 gdcloud 指令列介面 (CLI) 指令,請務必下載、安裝及設定 gdcloud CLI。Distributed Cloud 的所有指令都使用 gdcloud 或 kubectl CLI,且需要作業系統 (OS) 環境。
取得 kubeconfig 檔案路徑
如要對 Management API 伺服器執行指令,請確認您具備下列資源:
登入並產生 Management API 伺服器的 kubeconfig 檔案 (如果沒有)。
使用 Management API 伺服器的 kubeconfig 檔案路徑,取代這些操作說明中的
MANAGEMENT_API_SERVER。
要求 IAM 角色
請與專案 IAM 管理員聯絡,要求對方授予您專案的下列角色:
虛擬機器專案管理員 (
project-vm-admin):在專案命名空間中建立、修改、列出及刪除標準和高效能 VM。專案檢視者(
project-viewer):查看專案命名空間中的所有資源。
所有 VM 角色都必須繫結至 VM 所在的專案命名空間。 按照步驟驗證存取權。
建立開機磁碟
請按照本頁面說明的程序建立開機磁碟,以便日後建立 VM。
透過映像檔建立開機磁碟
除了建立執行個體以外,您還可以建立獨立開機永久磁碟,並在日後將它附加至執行個體。本節說明如何使用 GDC 提供的 OS 映像檔或自訂 OS 映像檔建立開機磁碟。
透過 GDC 提供的映像檔建立開機磁碟
使用 GDC 提供的映像檔建立開機磁碟前,請先查看可用映像檔清單。然後使用提供的映像檔建立開機磁碟。
gdcloud
列出所有可用的映像檔及其最小磁碟大小:
gdcloud compute images list這項指令包含 Distributed Cloud 提供的映像檔和自訂映像檔。在
vm-system命名空間中選擇任一項目。選取 Distributed Cloud 提供的映像檔,建立 VM 磁碟:
gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=vm-system請使用下列定義替換變數:
變數 定義 BOOT_DISK_NAME開機磁碟的名稱。 PROJECT用來建立開機磁碟的 GDC 專案。 DISK_SIZE開機磁碟的大小至少須為映像檔的 minimumDiskSize。IMAGE_NAME圖片名稱。
kubectl
列出所有可用的 GDC 提供映像檔:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog取得特定 GDC 提供的映像檔
minimumDiskSize。建立的自訂開機磁碟大小必須至少為minimumDiskSize:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'建立
VirtualMachineDisk物件:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: vm-system size: DISK_SIZE EOF使用下列定義替換變數,
變數 定義 MANAGEMENT_API_SERVERManagement API 伺服器 kubeconfig 檔案。 IMAGE_NAME圖片名稱。 PROJECT用來建立開機磁碟的 GDC 專案。 BOOT_DISK_NAME開機磁碟的名稱。 DISK_SIZE開機磁碟的大小至少須為映像檔的 minimumDiskSize。
從自訂映像檔建立開機磁碟
自訂映像檔專屬您的專案。如要使用自訂映像檔建立 VM,您必須先建立自訂映像檔 (如果沒有的話),且該映像檔必須與 VM 位於同一個專案。
如果尚未設定,請先設定必要的 IAM 角色,以便存取專案中的自訂映像檔。然後按照這些指示操作。
gdcloud
列出所有自訂映像檔及其最小磁碟大小:
gdcloud compute images list \ --project=PROJECT \選取自訂映像檔來建立 VM 磁碟:
gdcloud compute disks create BOOT_DISK_NAME \ --project=PROJECT \ --size=DISK_SIZE \ --image=IMAGE_NAME \ --image-project=PROJECT請使用下列定義替換變數:
變數 定義 BOOT_DISK_NAME開機磁碟的名稱。 PROJECT用來建立開機磁碟的 GDC 專案。 DISK_SIZE開機磁碟的大小至少須為映像檔的 minimumDiskSize。IMAGE_NAME圖片名稱。
API
-
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachineimages.virtualmachine.gdc.goog 取得特定自訂映像檔的
minimumDiskSize。建立的自訂開機磁碟大小必須至少為minimumDiskSize:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'建立
VirtualMachineDisk物件:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineDisk metadata: name: BOOT_DISK_NAME spec: source: image: name: IMAGE_NAME namespace: PROJECT size: DISK_SIZE EOF請使用下列定義替換變數: