建立自訂開機磁碟

建立虛擬機器 (VM) 執行個體時,您也必須為該 VM 建立開機磁碟。您可以使用公開或自訂映像檔。當您建立 VM 執行個體時,GDC 會自動建立開機永久磁碟。如果執行個體需要其他資料儲存磁碟,請將永久磁碟新增至 VM。

請按照本頁面說明的程序建立開機磁碟,以便日後建立 VM。

事前準備

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

取得 kubeconfig 檔案路徑

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

  1. 找出 Management API 伺服器名稱,或詢問平台管理員 (PA) 伺服器名稱。

  2. 登入並產生 Management API 伺服器的 kubeconfig 檔案 (如果沒有)。

  3. 請使用路徑取代這些操作說明中的 MANAGEMENT_API_SERVER{"</var>"}}。

要求權限和存取權

如要執行這個頁面列出的工作,您必須有權存取 VM 磁碟。按照步驟驗證,或請專案 IAM 管理員在 VM 所在的專案命名空間中,指派專案 VirtualMachine 管理員 (project-vm-admin) 角色給您。

如要使用 GDC 控制台或 gdcloud CLI 執行 VM 作業,請要求專案 IAM 管理員同時指派專案 VirtualMachine 管理員角色和專案檢視者 (project-viewer) 角色。

透過映像檔建立開機磁碟

除了建立執行個體以外,您還可以建立獨立開機永久磁碟,並在日後將它附加至執行個體。本節說明如何使用 GDC 提供的 OS 映像檔或自訂 OS 映像檔建立開機磁碟。

透過 GDC 提供的映像檔建立開機磁碟

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

gdcloud

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

    gdcloud compute images list
    

    這項指令包含 GDC 氣隙裝置提供的映像檔和自訂映像檔。在 vm-system 命名空間中選擇任一項目。

  2. 選取 GDC 氣隙裝置提供的映像檔,建立 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 \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
    
  2. 取得特定 GDC 提供的映像檔 minimumDiskSize。建立的自訂開機磁碟大小必須至少為 minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. 建立 VirtualMachineDisk 物件:

    kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -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 圖片名稱。

kubectl

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

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. 建立 VirtualMachineDisk 物件:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply --namespace PROJECT -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。

如要更換開機磁碟,請參閱「更換開機磁碟」頁面。