建立自訂開機磁碟

本文說明如何在 Google Distributed Cloud (GDC) 實體隔離環境中,為虛擬機器 (VM) 建立自訂開機磁碟。

建立 VM 執行個體時,Distributed Cloud 會自動建立具有預設設定的開機永久磁碟。您也必須為 VM 建立開機磁碟。您可以使用公開映像檔或自訂映像檔。

如果執行個體需要額外的資料儲存磁碟,請將永久磁碟新增至 VM。

本文適用於平台管理員或應用程式操作員群組中,為 VM 建立自訂開機磁碟的開發人員。詳情請參閱「GDC 實體隔離方案說明文件的目標對象」。

事前準備

如要使用 gdcloud 指令列介面 (CLI) 指令,請務必下載、安裝及設定 gdcloud CLI。Distributed Cloud 的所有指令都使用 gdcloud 或 kubectl CLI,且需要作業系統 (OS) 環境。

取得 kubeconfig 檔案路徑

如要對 Management API 伺服器執行指令,請確認您具備下列資源:

  1. 如果您沒有 Management API 伺服器的 kubeconfig 檔案,請登入並產生該檔案。

  2. 請使用 Management API 伺服器的 kubeconfig 檔案路徑,取代這些操作說明中的 MANAGEMENT_API_SERVER。

要求 IAM 角色

請與 IAM 專案管理員聯絡,要求在專案中取得下列角色:

  • 虛擬機器專案管理員 (project-vm-admin):在專案命名空間中建立、修改、列出及刪除標準和高效能 VM。

  • 專案檢視者(project-viewer):查看專案命名空間中的所有資源。

所有 VM 角色都必須繫結至 VM 所在專案的命名空間。按照步驟驗證存取權。

建立開機磁碟

請按照本頁所述程序建立開機磁碟,以便日後建立 VM。

依據映像檔建立開機磁碟

您可以在建立執行個體以外的程序中,建立獨立的開機永久磁碟,然後再將其附加至執行個體。本節說明如何使用 GDC 提供的 OS 映像檔或自訂 OS 映像檔建立開機磁碟。

使用 GDC 提供的映像檔建立開機磁碟

使用 GDC 提供的映像檔建立開機磁碟前,請先查看可用映像檔清單。接著使用提供的映像檔建立開機磁碟。

gdcloud

  1. 列出所有可用的映像檔及其磁碟大小下限:

    gdcloud compute images list
    

    這個指令會列出 Distributed Cloud 提供的映像檔和自訂映像檔。請在 vm-system 命名空間中擇一使用。

  2. 選取 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

  1. 列出所有可用的 GDC 映像檔:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. 取得特定 GDC 提供的映像檔 minimumDiskSize。建立的自訂開機磁碟大小必須至少為 minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. 建立 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_SERVER Management API 伺服器 kubeconfig 檔案。
    IMAGE_NAME 圖片名稱。
    PROJECT 要建立開機磁碟的 GDC 專案。
    BOOT_DISK_NAME 開機磁碟的名稱。
    DISK_SIZE 開機磁碟的大小至少須為映像檔的 minimumDiskSize。

依據自訂映像檔建立開機磁碟

自訂映像檔僅屬於您的專案。如要使用自訂映像檔建立 VM,請先在同一個專案中建立自訂映像檔 (如果尚未建立)。

如果您尚未設定必要的 IAM 角色,請先完成設定,以便存取專案中的自訂映像檔。然後按照這些操作說明繼續操作。

gdcloud

  1. 列出所有自訂映像檔及其磁碟大小下限:

    gdcloud compute images list \
      --project=PROJECT
    
  2. 選取自訂映像檔,建立 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

  1. 列出所有自訂映像檔:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimages.virtualmachine.gdc.goog
    
  2. 取得特定自訂映像檔的 minimumDiskSize。建立的自訂開機磁碟大小至少須為 minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}'
    
  3. 建立 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_SERVER Management API 伺服器 kubeconfig 檔案。
    IMAGE_NAME 從列出所有自訂映像檔指令中選擇的映像檔名稱。
    PROJECT 要建立開機磁碟的 GDC 專案。
    BOOT_DISK_NAME 開機磁碟的名稱。
    DISK_SIZE 開機磁碟的大小至少須為映像檔的 minimumDiskSize。

後續步驟