建立並啟動 VM 執行個體

本文說明如何使用開機磁碟映像檔或開機磁碟快照,建立及啟動虛擬機器 (VM) 執行個體。您可以使用 Google Distributed Cloud (GDC) 無網路連線 CLI、GDC 控制台或 API 執行這項工作。

您可以建立具有一或多個磁碟的 VM。您也可以在建立 VM 後新增磁碟。Distributed Cloud 會在建立 VM 執行個體後自動啟動該執行個體。

您也可以在建立 VM 前後新增啟動指令碼。詳情請參閱「搭配 VM 執行個體使用開機指令碼」一文。

本文適用於平台管理員或應用程式運算子群組的開發人員,這類人員會在 Google Distributed Cloud (GDC) 氣隙環境中建立及管理 VM。詳情請參閱 GDC 氣隙環境適用的目標對象說明文件

事前準備

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

取得 kubeconfig 檔案路徑

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

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

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

虛擬機器命名規範

建立 VM 執行個體時,請參閱下列命名規範:

  • VM 名稱只能使用英數字元和破折號。
  • 使用英數字元和破折號以外的符號 (例如半形句號),會導致無法連線至 VM。
  • 虛擬機器名稱長度不得超過 53 個字元。

要求 IAM 角色

如要執行本頁列出的工作,您必須具備必要的 IAM 角色:

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

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

  • 虛擬機器映像檔專案管理員 (project-vm-image-admin):在專案命名空間中建立、列出及刪除 GDC 提供的 VM 映像檔和自訂 VM 映像檔。

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

從映像檔建立 VM 執行個體

本節說明如何透過 GDC 提供的 OS 映像檔自訂 OS 映像檔建立 VM。

查看可用的 GDC 提供映像檔清單

使用 GDC 提供的映像檔建立 VM 前,請先查看可用映像檔清單。如要進一步瞭解 GDC 提供的映像檔,請參閱支援的 VM 映像檔

gdcloud

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

    gdcloud compute images list
    

    這項指令包含 GDC 提供的圖片和自訂圖片。在 vm-system 命名空間中選擇圖片。

API

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimage.virtualmachine.gdc.goog
    
  2. 取得特定 GDC 提供映像檔的 minimumDiskSize

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n vm-system \
      get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    更改下列內容:

    • MANAGEMENT_API_SERVER:Management API 伺服器的 kubeconfig 檔案。
    • BOOT_DISK_IMAGE_NAME:映像檔名稱。

使用 GDC 提供的映像檔建立 VM 執行個體

根據預設,所有 GDC 專案都可以使用 GDC 提供的 OS 映像檔建立 VM。

控制台

  1. 在導覽選單中,依序選取「Virtual Machines」>「Instances」
  2. 點選「建立執行個體」
  3. 在「Name」(名稱) 欄位中,指定 VM 的名稱。
  4. 選取要建立 VM 的可用區。
  5. 選用:按一下「新增標籤」,將任何標籤指派給 VM。方便您管理 VM 執行個體。
  6. 選取虛擬機要使用的機器設定:
    1. 一般用途:請確認機型符合工作負載需求。
    2. 自訂:設定機器的核心數量和記憶體需求。
  7. 點選「下一步」
  8. 如要啟用外部存取權,請選取「允許外部存取」
  9. 點選「下一步」
  10. 在「開機磁碟」部分,系統會自動新增具有預設設定的開機磁碟。您可以保留這項設定,或按一下「變更」修改預設設定:
    1. 在「磁碟詳細資料」部分,修改「磁碟名稱」
    2. 在「磁碟設定」部分中,修改「大小」值。
    3. 在「來源圖片」部分中,按一下「圖片名稱」選單,然後選取其中一張圖片。
    4. 選取或取消選取「啟用安全啟動功能」。如果使用 Windows 映像檔,必須啟用安全啟動。
    5. 選取「保留磁碟」或「刪除磁碟」,設定磁碟刪除規則。
    6. 按一下「儲存」
  11. 按一下「建立」,建立 VM 執行個體。

gdcloud

  1. 選取 GDC 提供的映像檔,在目標可用區中建立 VM 執行個體:

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --image=BOOT_DISK_IMAGE_NAME \
      --image-project=vm-system \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    更改下列內容:

    變數定義
    VM_NAME 新 VM 的名稱,名稱只能包含英數字元和破折號,且不得超過 53 個字元。
    BOOT_DISK_IMAGE_NAME 新 VM 開機磁碟要使用的映像檔名稱。
    BOOT_DISK_SIZE 開機磁碟大小,例如 20GB
    這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize
    NO_BOOT_DISK_AUTO_DELETE truefalse,表示 VM 執行個體遭刪除時,是否會自動刪除開機磁碟。
    MACHINE_TYPE 新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
    gdcloud compute machine-types list

API

  1. 選取 GDC 提供的映像檔,在目標可用區中建立 VM 執行個體:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    更改下列內容:

    變數定義
    MANAGEMENT_API_SERVER Management API 伺服器 kubeconfig 檔案。
    PROJECT 用於建立 VM 的 GDC 專案。
    VM_NAME 新 VM 的名稱,名稱只能包含英數字元和破折號,且不得超過 53 個字元。
    VM_BOOT_DISK_NAME 新 VM 開機磁碟的名稱。
    BOOT_DISK_IMAGE_NAME 新 VM 開機磁碟要使用的映像檔名稱。
    BOOT_DISK_SIZE 開機磁碟大小,例如 20Gi
    這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize
    BOOT_DISK_AUTO_DELETE truefalse,指出刪除 VM 執行個體時,是否要自動刪除開機磁碟。
    MACHINE_TYPE 新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
  2. 確認 VM 已建立,並等待 VM 顯示 Running 狀態。Running 狀態並不表示作業系統已完全就緒並可供存取。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachine.virtualmachine.gdc.goog VM_NAME
    

    VM_NAMEPROJECT 替換為 VM 的名稱和專案。

    如要在建立 VM 執行個體時新增開機指令碼,請按照「搭配 VM 執行個體使用開機指令碼」頁面提供的步驟操作。請務必先關閉 VM,再新增指令碼。

透過自訂映像檔建立 VM 執行個體

自訂映像檔專屬您的專案。如要使用自訂映像檔建立 VM,您必須先在同一個專案中建立自訂映像檔

控制台

  1. 在導覽選單中,依序選取「Virtual Machines」>「Instances」
  2. 點選「建立執行個體」
  3. 在「Name」(名稱) 欄位中,指定 VM 的名稱。
  4. 選取要建立 VM 的可用區。
  5. 選用:按一下「新增標籤」,將任何標籤指派給 VM。這有助於整理 VM 執行個體。
  6. 選取虛擬機要使用的機器設定:
    1. 一般用途:請確認機型符合工作負載需求。
    2. 自訂:設定機器的核心數量和記憶體需求。
  7. 點選「下一步」
  8. 選取「允許外部存取」核取方塊,為 VM 執行個體啟用外部存取權。
  9. 點選「下一步」
  10. 在「開機磁碟」部分,系統會自動新增具有預設設定的開機磁碟。您可以保留這項設定,或按一下「變更」修改預設設定:
    1. 在「磁碟詳細資料」部分,修改「磁碟名稱」
    2. 在「磁碟設定」部分中,修改「大小」值。
    3. 在「來源圖片」部分中,按一下「圖片名稱」選單,然後選取其中一個帶有「由消費者建立」副文字的圖片。
    4. 選取或取消選取「啟用安全啟動功能」。如果使用 Windows 映像檔,必須啟用安全啟動。
    5. 選取「保留磁碟」或「刪除磁碟」,設定磁碟刪除規則。
    6. 按一下「儲存」
  11. 按一下「建立」,建立 VM 執行個體。

gdcloud

  1. 列出所有自訂映像檔

    gdcloud compute images list --no-standard-images=true
    
  2. 建立 VM 執行個體:

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --image=BOOT_DISK_IMAGE_NAME \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    更改下列內容:

    變數定義
    VM_NAME 新 VM 的名稱,名稱只能包含英數字元和破折號,且不得超過 53 個字元。
    BOOT_DISK_IMAGE_NAME 新 VM 開機磁碟要使用的映像檔名稱。
    BOOT_DISK_SIZE 開機磁碟大小,例如 20GB
    這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize
    NO_BOOT_DISK_AUTO_DELETE truefalse,表示 VM 執行個體遭刪除時,是否會自動刪除開機磁碟。
    MACHINE_TYPE 新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
    gdcloud compute machine-types list

API

  1. 列出所有自訂映像檔

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimage.virtualmachine.gdc.goog
    

    取得特定映像檔的 minimumDiskSize,以建立 VM 執行個體:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachineimage.virtualmachine.gdc.goog BOOT_DISK_IMAGE_NAME \
      -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    更改下列內容:

    變數定義
    MANAGEMENT_API_SERVER Management API 伺服器 kubeconfig 檔案。
    BOOT_DISK_IMAGE_NAME 從指令中選擇的映像檔名稱,用於列出所有自訂映像檔
    PROJECT 圖片的專案。
  2. 建立 VM 執行個體:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    更改下列內容:

    變數定義
    MANAGEMENT_API_SERVER Management API 伺服器 kubeconfig 檔案。
    PROJECT 用於建立 VM 的 GDC 專案。
    VM_NAME 新 VM 的名稱,名稱只能包含英數字元和破折號,且不得超過 53 個字元。
    VM_BOOT_DISK_NAME 新 VM 開機磁碟的名稱。
    BOOT_DISK_IMAGE_NAME 新 VM 開機磁碟要使用的映像檔名稱。
    BOOT_DISK_SIZE 開機磁碟大小,例如 20Gi
    這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize
    BOOT_DISK_AUTO_DELETE truefalse,指出刪除 VM 執行個體時,是否要自動刪除開機磁碟。
    MACHINE_TYPE 新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
  3. 確認 VM 已建立,並等待 VM 顯示為 Running 狀態。處於 Running 狀態並不代表 OS 已完全就緒且可供存取。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      get virtualmachine.virtualmachine.gdc.goog VM_NAME
    

    VM_NAMEPROJECT 替換為 VM 的名稱和專案。

建立具備額外非開機磁碟的 VM 執行個體

建立 VM 時,您可以建立非開機磁碟。每個額外磁碟都可以指定映像檔來源,也可以不指定。後者用於建立空白磁碟。

控制台

  1. 在導覽選單中,依序選取「Virtual Machines」>「Instances」
  2. 點選「建立執行個體」
  3. 在「Name」(名稱) 欄位中,指定 VM 的名稱。
  4. 選取要建立 VM 的可用區。
  5. 選用:按一下「新增標籤」,將任何標籤指派給 VM。這有助於整理 VM 執行個體。
  6. 選取虛擬機要使用的機器設定:
    1. 一般用途:請確認機型符合工作負載需求。
    2. 自訂:設定機器的核心數量和記憶體需求。
  7. 點選「下一步」
  8. 選取「允許外部存取」核取方塊,為 VM 執行個體啟用外部存取權。
  9. 點選「下一步」
  10. 在「開機磁碟」部分,系統會自動新增具有預設設定的開機磁碟。您可以保留這項設定,或按一下「變更」修改預設設定:
    1. 在「磁碟詳細資料」部分,修改「磁碟名稱」
    2. 在「磁碟設定」部分中,修改「大小」值。
    3. 在「來源圖片」部分中,按一下「圖片名稱」選單,然後選取其中一張圖片。
    4. 選取或取消選取「啟用安全啟動功能」。如果使用 Windows 映像檔,必須啟用安全啟動。
    5. 選取「保留磁碟」或「刪除磁碟」,設定磁碟刪除規則。
    6. 按一下「儲存」
  11. 如要為 VM 執行個體新增磁碟,請選取「Add New Disk」(新增磁碟)
    1. 為 VM 磁碟指派名稱。
    2. 設定磁碟大小和附加設定。
    3. 按一下 [儲存]
  12. 按一下「建立」,建立 VM 執行個體。

gdcloud

  1. 從映像檔建立磁碟:

    gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \
      --size=NON_BOOT_DISK_SIZE \
      --image=NON_BOOT_DISK_IMAGE_NAME \
      --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE
    
  2. 從空白映像檔建立磁碟:

    gdcloud compute disks create NON_BOOT_BLANK_DISK \
      --size=NON_BOOT_BLANK_DISK_SIZE
    
  3. 使用上一個步驟中的磁碟建立執行個體:

    gdcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --image=BOOT_DISK_IMAGE_NAME \
      --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE \
      --boot-disk-size=BOOT_DISK_SIZE \
      --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \
      --disk=name=NON_BOOT_DISK_FROM_IMAGE \
      --disk=name=NON_BOOT_BLANK_DISK
    

    更改下列內容:

    變數定義
    VM_NAME 新 VM 的名稱,名稱只能包含英數字元和破折號,且不得超過 53 個字元。
    BOOT_DISK_IMAGE_NAME 新 VM 開機磁碟要使用的映像檔名稱。
    BOOT_DISK_IMAGE_NAMESPACE 要用於新 VM 開機磁碟的映像檔命名空間。使用 vm-system 取得 GDC 提供的圖片,或將欄位留空以取得自訂圖片。
    BOOT_DISK_SIZE 開機磁碟大小,例如 20GB
    這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize
    NO_BOOT_DISK_AUTO_DELETE truefalse,表示 VM 執行個體遭刪除時,是否會自動刪除開機磁碟。
    MACHINE_TYPE 新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
    gdcloud compute machine-types list

    如要新增磁碟,請替換下列項目:

    • NON_BOOT_DISK_FROM_IMAGENON_BOOT_BLANK_DISK:額外磁碟的名稱。
    • NON_BOOT_DISK_SIZENON_BOOT_BLANK_DISK_SIZE:額外磁碟的大小,例如 20GB
    • NON_BOOT_DISK_IMAGE_NAME:要當做非開機磁碟使用的映像檔名稱。
    • NON_BOOT_DISK_IMAGE_NAMESPACE:要當做非啟動磁碟使用的映像檔命名空間。使用 vm-system 取得 GDC 提供的圖片,或將欄位留空以取得自訂圖片。

API

  1. 建立含有非開機磁碟的 VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      apply -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_DISK_FROM_IMAGE
    spec:
      source:
        image:
          name: NON_BOOT_DISK_IMAGE_NAME
          namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
      size: NON_BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_BLANK_DISK
    spec:
      size: NON_BOOT_BLANK_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: BOOT_DISK_IMAGE_NAMESPACE
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
      - virtualMachineDiskRef:
          name: VM_BOOT_DISK_NAME
        boot: true
        autoDelete: BOOT_DISK_AUTO_DELETE
      - virtualMachineDiskRef:
          name: NON_BOOT_DISK_FROM_IMAGE
      - virtualMachineDiskRef:
          name: NON_BOOT_BLANK_DISK
    EOF
    

    更改下列內容:

    變數定義
    MANAGEMENT_API_SERVER Management API 伺服器 kubeconfig 檔案。
    PROJECT 要在 VM 中建立的 GDC 專案。
    VM_NAME 新 VM 的名稱,名稱只能包含英數字元和破折號,且不得超過 53 個字元。
    VM_BOOT_DISK_NAME 新 VM 開機磁碟的名稱。
    BOOT_DISK_IMAGE_NAME 新 VM 開機磁碟要使用的映像檔名稱。
    BOOT_DISK_IMAGE_NAMESPACE 要用於新 VM 開機磁碟的映像檔命名空間。如要使用 GDC 提供的映像檔,請使用 vm-system 命名空間;如要使用自訂映像檔,請留空。
    BOOT_DISK_SIZE 開機磁碟大小,例如 20Gi
    這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize
    BOOT_DISK_AUTO_DELETE truefalse,指出刪除 VM 執行個體時,是否要自動刪除開機磁碟。
    MACHINE_TYPE 新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system

    如要新增磁碟,請替換下列項目:

    • NON_BOOT_DISK_FROM_IMAGENON_BOOT_BLANK_DISK:額外磁碟的名稱。
    • NON_BOOT_DISK_SIZENON_BOOT_BLANK_DISK_SIZE:額外磁碟的大小,例如 20Gi
    • NON_BOOT_DISK_IMAGE_NAME:要當做非開機磁碟使用的映像檔名稱。
    • NON_BOOT_DISK_IMAGE_NAMESPACE:要當做非開機磁碟使用的映像檔命名空間。如要使用 GDC 提供的映像檔,請使用 vm-system 命名空間;如要使用自訂映像檔,請留空。

    請在使用前先格式化及掛接磁碟。

透過快照或備份建立 VM

您可以透過下列方式從快照建立新的 VM:

  • 還原 VM 開機磁碟:如果您使用快照備份 VM 的開機磁碟,請使用該快照建立新的 VM。詳情請參閱「還原快照」。
    • 還原非開機磁碟:如果您使用快照備份非開機磁碟,也可以在建立 VM 時,使用相同的操作說明將快照還原到新的非開機磁碟。

如要使用相同開機磁碟建立多個 VM,請按照下列步驟操作:

  1. 建立自訂圖片
  2. 從該映像檔建立 VM, 不必使用快照。

建立具有指定 IP 位址和子網路的 VM 執行個體

根據預設,您可以在不指定網路的情況下建立 Distributed Cloud VM。這類 VM 會附加至預設虛擬私有雲 (VPC),並從預設子網路動態指派 IP。如要使用預設設定建立 VM,請參閱使用 GDC 提供的映像檔建立 VM

如果不想為 Distributed Cloud VM 使用預設 IP 設定,可以建立具有動態或靜態 IP 位址的 VM:

  • 自訂子網路的動態 IP:您建立具有特定 CIDR 的子網路,並建立 VM,其 IP 是從該 CIDR 動態指派。

  • 自訂子網路的靜態 IP:您建立具有特定 CIDR 的子網路,並從該 CIDR 建立具有靜態 IP 的 VM。

如要進一步瞭解如何建立子網路,請參閱「Google Distributed Cloud 中的子網路和 IP 位址」。

本節說明如何建立 VM,並使用動態指派的位址靜態 IP 位址

從自訂子網路建立 VM,並動態指派 IP

從特定 CIDR 建立 VM,並動態指派 IP:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
     -n PROJECT \
     apply -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
     - virtualMachineDiskRef:
         name: VM_BOOT_DISK_NAME
       boot: true
       autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
   EOF

請替換下列變數:

變數定義
MANAGEMENT_API_SERVER Management API 伺服器 kubeconfig 檔案。
PROJECT 用於建立 VM 的 Distributed Cloud 專案。
VM_NAME 新 VM 的名稱,名稱只能包含英數字元和破折號,且不得超過 53 個字元。
VM_BOOT_DISK_NAME 新 VM 開機磁碟的名稱。
BOOT_DISK_IMAGE_NAME 新 VM 開機磁碟要使用的映像檔名稱。
BOOT_DISK_SIZE 開機磁碟大小,例如 20Gi
這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize
BOOT_DISK_AUTO_DELETE truefalse,指出刪除 VM 執行個體時,是否要自動刪除開機磁碟。
MACHINE_TYPE 新 VM 的預先定義機型。選取可用的機器類型:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME 自訂子網路的名稱。

從子網路建立具有靜態 IP 的 VM

從自訂子網路建立具有靜態 IP 的 VM:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
     -n PROJECT \
     apply  -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
     - virtualMachineDiskRef:
         name: VM_BOOT_DISK_NAME
       boot: true
       autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
         ipAddresses:
         - address: IP_ADDRESS
   EOF

請替換下列變數:

變數定義
MANAGEMENT_API_SERVER Management API 伺服器 kubeconfig 檔案。
PROJECT 用於建立 VM 的 Distributed Cloud 專案。
VM_NAME 新 VM 的名稱,名稱只能包含英數字元和破折號,且不得超過 53 個字元。
VM_BOOT_DISK_NAME 新 VM 開機磁碟的名稱。
BOOT_DISK_IMAGE_NAME 新 VM 開機磁碟要使用的映像檔名稱。
BOOT_DISK_SIZE 開機磁碟大小,例如 20Gi
這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize
BOOT_DISK_AUTO_DELETE truefalse,指出刪除 VM 執行個體時,是否要自動刪除開機磁碟。
MACHINE_TYPE 新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME 自訂子網路的名稱。
IP_ADDRESS IP 位址。這必須在所選子網路範圍內。您只能在 ipAddresses 欄位中指定一個 IP 位址

後續步驟