建立 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,請先在同一個專案中建立自訂映像檔 (如果尚未建立)。
如果您尚未設定必要的 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請依據下列定義替換變數:
變數 定義 MANAGEMENT_API_SERVERManagement API 伺服器 kubeconfig 檔案。 IMAGE_NAME從列出所有自訂映像檔指令中選擇的映像檔名稱。 PROJECT要建立開機磁碟的 GDC 專案。 BOOT_DISK_NAME開機磁碟的名稱。 DISK_SIZE開機磁碟的大小至少須為映像檔的 minimumDiskSize。