使用開機磁碟映像檔或開機磁碟快照,建立虛擬機器 (VM) 執行個體。您可以建立具有一或多個磁碟的 VM,或稍後新增磁碟。Google Distributed Cloud (GDC) 實體隔離方案會在您建立 VM 執行個體時自動啟動。
您也可以在建立 VM 執行個體前後,新增開機指令碼。
本文件適用於平台管理員或應用程式操作員群組中的開發人員,他們會在 GDC 環境中建立及管理 VM。詳情請參閱「GDC 實體隔離方案說明文件的目標對象」。
事前準備
如要使用 gdcloud 指令列介面 (CLI) 指令,請務必下載、安裝及設定 gdcloud CLI。Distributed Cloud 的所有指令都使用 gdcloud 或 kubectl CLI,且需要作業系統 (OS) 環境。
取得 kubeconfig 檔案路徑
如要對 Management API 伺服器執行指令,請確認您具備下列資源:
如果您沒有 Management API 伺服器的 kubeconfig 檔案,請登入並產生該檔案。
請使用 Management API 伺服器的 kubeconfig 檔案路徑,取代這些操作說明中的
MANAGEMENT_API_SERVER。
VM 命名規範
建立 VM 執行個體時,請參考下列命名規範:
- VM 名稱只能使用英數字元和破折號。
- 如果使用英數字元和連字號以外的符號 (例如句號),則無法連線至 VM。
- VM 名稱長度不得超過 53 個半形字元。
要求 IAM 角色
如要取得建立及啟動 VM 執行個體所需的權限,請要求 IAM 專案管理員授予您下列專案角色:
虛擬機器專案管理員 (
project-vm-admin):建立、修改、列出及刪除專案命名空間中的 VM。專案檢視者 (
project-viewer):查看專案命名空間中的所有資源。虛擬機器映像檔專案管理員 (
project-vm-image-admin):在專案命名空間中,建立、列出及刪除 GDC 提供的自訂 VM 映像檔。
所有 VM 角色都必須繫結至 VM 所在專案的命名空間。按照步驟驗證存取權。
依據映像檔建立 VM 執行個體
本節說明如何使用 GDC 提供的 OS 映像檔或自訂 OS 映像檔建立 VM。
查看 GDC 提供的可用映像檔清單
使用 GDC 提供的映像檔建立 VM 前,請先查看可用映像檔清單。如要進一步瞭解 GDC 提供的映像檔,請參閱「支援的 VM 映像檔」。
gdcloud
列出所有可用的映像檔及其磁碟大小下限:
gdcloud compute images list這項指令包含 GDC 提供的映像檔和自訂映像檔。選擇
vm-system命名空間中的任一圖片。
API
列出所有可用的 GDC 映像檔:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimage.virtualmachine.gdc.goog取得特定 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:管理 API 伺服器的 kubeconfig 檔案。BOOT_DISK_IMAGE_NAME:映文件名稱。
使用 GDC 提供的映像檔建立 VM 執行個體
根據預設,所有 GDC 專案都能使用 GDC 提供的 OS 映像檔建立 VM。
控制台
- 在導覽選單中,依序選取「Virtual Machines」>「Instances」。
- 點選「建立執行個體」。
- 在「Name」(名稱) 欄位中,指定 VM 的名稱。
- 選取要建立 VM 的可用區。
- 選用:按一下「新增標籤」,為 VM 指派標籤。這有助於管理 VM 執行個體。
- 選取 VM 要使用的機器設定:
- 一般用途:請確認機型符合工作負載需求。
- 自訂:設定機器的核心數量和記憶體需求。
- 點選「下一步」。
- 如要啟用外部存取權,請選取「允許外部存取要求」。
- 點選「下一步」。
- 在「Boot disk」(開機磁碟) 區段中,GDC 會自動新增具有預設設定的開機磁碟。您可以保留這項設定,或按一下「Change」(變更) 來修改預設設定:
- 在「磁碟詳細資料」部分,修改「磁碟名稱」。
- 在「Disk settings」(磁碟設定) 區段中,修改「Size」(大小) 值。
- 在「Source image」(來源圖片) 部分,按一下「Image name」(圖片名稱) 選單,然後選取其中一張圖片。
- 勾選或取消勾選「啟用安全啟動功能」。如果使用 Windows 映像檔,則必須啟用安全啟動功能。
- 選取「Keep disk」(保留磁碟) 或「Delete disk」(刪除磁碟),設定磁碟刪除規則。
- 按一下 [儲存]。
- 按一下「建立」,建立 VM 執行個體。
gdcloud
選取 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 個英數字元和連字號。 MACHINE_TYPE新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
gdcloud compute machine-types listBOOT_DISK_IMAGE_NAME新 VM 開機磁碟要使用的映像檔名稱。 BOOT_DISK_SIZE開機磁碟的大小,例如 20GB。
這個值必須一律大於或等於開機磁碟映像檔的minimumDiskSize。NO_BOOT_DISK_AUTO_DELETE指定 true,即可在刪除 VM 執行個體時保留開機磁碟,或指定false,自動刪除開機磁碟。
API
選取 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管理 API 伺服器 kubeconfig 檔案。 PROJECT要建立 VM 的 GDC 專案。 VM_BOOT_DISK_NAME新 VM 開機磁碟的名稱。 BOOT_DISK_IMAGE_NAME新 VM 開機磁碟要使用的映像檔名稱。 BOOT_DISK_SIZE開機磁碟的大小,例如 20Gi。
這個值必須一律大於或等於開機磁碟映像檔的minimumDiskSize。VM_NAME新 VM 的名稱,名稱最多可包含 53 個英數字元和連字號。 MACHINE_TYPE新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-systemBOOT_DISK_AUTO_DELETE指定 true,即可在刪除 VM 執行個體時自動刪除開機磁碟,指定false則可保留開機磁碟。確認 VM 建立成功,並等待 VM 顯示
Running狀態。Running狀態不代表 OS 已完全就緒且可供存取。kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachine.virtualmachine.gdc.goog VM_NAME將
VM_NAME和PROJECT替換為 VM 的名稱和專案。如要在建立 VM 執行個體時新增開機指令碼,請按照「搭配 VM 執行個體使用開機指令碼」頁面中的步驟操作。請務必先關閉 VM,再新增指令碼。
使用自訂映像檔建立 VM 執行個體
自訂映像檔僅屬於您的專案。如要使用自訂映像檔建立 VM,您必須先在同一個專案中建立自訂映像檔。
控制台
- 在導覽選單中,依序選取「Virtual Machines」>「Instances」。
- 點選「建立執行個體」。
- 在「Name」(名稱) 欄位中,指定 VM 的名稱。
- 選取要建立 VM 的可用區。
- 選用:按一下「新增標籤」,為 VM 指派標籤。這有助於管理 VM 執行個體。
- 選取 VM 要使用的機器設定:
- 一般用途:請確認機型符合工作負載需求。
- 自訂:設定機器的核心數量和記憶體需求。
- 點選「下一步」。
- 勾選「Allow external access」(允許外部存取) 核取方塊,為 VM 執行個體啟用外部存取權。
- 點選「下一步」。
在「Boot disk」(開機磁碟) 區段中,GDC 會自動新增具有預設設定的開機磁碟。您可以保留這項設定,或按一下「Change」(變更) 修改預設設定:
- 在「磁碟詳細資料」部分,修改「磁碟名稱」。
- 在「Disk settings」(磁碟設定) 區段中,修改「Size」(大小) 值。
- 在「Source image」(來源映像檔) 區段中,按一下「Image name」(映像檔名稱) 選單,然後選取其中一個含有「Created by customer」(由客戶建立) 子文字的映像檔。
勾選或取消勾選「啟用安全啟動功能」。如果使用 Windows 映像檔,則必須啟用安全啟動功能。
選取「Keep disk」(保留磁碟) 或「Delete disk」(刪除磁碟),設定磁碟刪除規則。
按一下 [儲存]。
按一下「建立」,建立 VM 執行個體。
gdcloud
列出所有自訂映像檔:
gdcloud compute images list --no-standard-images=true建立 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 個英數字元和連字號。 MACHINE_TYPE新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
gdcloud compute machine-types listBOOT_DISK_IMAGE_NAME新 VM 開機磁碟要使用的映像檔名稱。 BOOT_DISK_SIZE開機磁碟的大小,例如 20GB。
這個值必須一律大於或等於開機磁碟映像檔的minimumDiskSize。NO_BOOT_DISK_AUTO_DELETE指定 true,即可在刪除 VM 執行個體時保留開機磁碟,或指定false,自動刪除開機磁碟。
API
列出所有自訂映像檔:
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管理 API 伺服器 kubeconfig 檔案。 PROJECT映像檔的專案。 BOOT_DISK_IMAGE_NAME自訂映像檔的名稱。 建立 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管理 API 伺服器 kubeconfig 檔案。 PROJECT要建立 VM 的 GDC 專案。 VM_BOOT_DISK_NAME新 VM 開機磁碟的名稱。 BOOT_DISK_IMAGE_NAME新 VM 開機磁碟要使用的映像檔名稱。 BOOT_DISK_SIZE開機磁碟的大小,例如 20Gi。
這個值必須一律大於或等於開機磁碟映像檔的minimumDiskSize。VM_NAME新 VM 的名稱,名稱最多可包含 53 個英數字元和連字號。 MACHINE_TYPE新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-systemBOOT_DISK_AUTO_DELETE指定 true,即可在刪除 VM 執行個體時自動刪除開機磁碟,指定false則可保留開機磁碟。確認 VM 已成功建立,並等待 VM 顯示處於
Running狀態。處於Running狀態並不代表 OS 已完全準備就緒且可供存取。kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachine.virtualmachine.gdc.goog VM_NAME將
VM_NAME和PROJECT替換為 VM 的名稱和專案。
建立具備額外非開機磁碟的 VM 執行個體
您可以在建立 VM 時建立非開機磁碟。每個額外磁碟都可以指定或不指定映像檔來源。後者適用於建立空白磁碟。
控制台
- 在導覽選單中,依序選取「Virtual Machines」>「Instances」。
- 點選「建立執行個體」。
- 在「Name」(名稱) 欄位中,指定 VM 的名稱。
- 選取要建立 VM 的可用區。
- 選用:按一下「新增標籤」,為 VM 指派標籤。這有助於管理 VM 執行個體。
- 選取 VM 要使用的機器設定:
- 一般用途:請確認機型符合工作負載需求。
- 自訂:設定機器的核心數量和記憶體需求。
- 點選「下一步」。
- 勾選「Allow external access」(允許外部存取) 核取方塊,為 VM 執行個體啟用外部存取權。
- 點選「下一步」。
- 在「Boot disk」(開機磁碟) 區段中,GDC 會自動新增具有預設設定的開機磁碟。您可以保留這項設定,或按一下「Change」(變更) 來修改預設設定:
- 在「磁碟詳細資料」部分,修改「磁碟名稱」。
- 在「Disk settings」(磁碟設定) 區段中,修改「Size」(大小) 值。
- 在「Source image」(來源圖片) 部分,按一下「Image name」(圖片名稱) 選單,然後選取其中一張圖片。
- 勾選或取消勾選「啟用安全啟動功能」。如果使用 Windows 映像檔,則必須啟用安全啟動功能。
- 選取「Keep disk」(保留磁碟) 或「Delete disk」(刪除磁碟),設定磁碟刪除規則。
- 按一下 [儲存]。
- 如要為 VM 執行個體新增更多磁碟,請選取「新增磁碟」:
- 為 VM 磁碟命名。
- 設定磁碟大小和連接設定。
- 按一下 [儲存]。
- 按一下「建立」,建立 VM 執行個體。
gdcloud
從映像檔建立開機磁碟:
gdcloud compute disks create VM_BOOT_DISK_NAME \ --size=BOOT_DISK_SIZE \ --image=BOOT_DISK_IMAGE_NAME \ --image-project=BOOT_DISK_IMAGE_NAMESPACE透過映像檔建立額外的非開機磁碟:
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建立空白非開機磁碟:
gdcloud compute disks create NON_BOOT_BLANK_DISK \ --size=NON_BOOT_BLANK_DISK_SIZE使用先前步驟中的磁碟建立執行個體:
gdcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --disk=name=VM_BOOT_DISK_NAME,boot=true \ --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \ --disk=name=NON_BOOT_DISK_FROM_IMAGE \ --disk=name=NON_BOOT_BLANK_DISK更改下列內容:
變數 定義 VM_BOOT_DISK_NAME新 VM 開機磁碟的名稱。 BOOT_DISK_SIZE開機磁碟的大小,例如 20GB。
這個值必須一律大於或等於開機磁碟映像檔的minimumDiskSize。BOOT_DISK_IMAGE_NAME新 VM 開機磁碟要使用的映像檔名稱。 BOOT_DISK_IMAGE_NAMESPACE新 VM 開機磁碟所用映像檔的命名空間。如果是 GDC 提供的映像檔,請使用 vm-system;如果是自訂映像檔,請將欄位留空。NON_BOOT_DISK_FROM_IMAGE您從映像檔建立的其他非開機磁碟名稱。 NON_BOOT_DISK_SIZE額外非開機磁碟的大小,例如 20GB。NON_BOOT_DISK_IMAGE_NAME非開機磁碟要使用的映像檔名稱。 NON_BOOT_DISK_IMAGE_NAMESPACE非開機磁碟所用映像檔的命名空間。如果是 GDC 提供的映像檔,請使用 vm-system;如果是自訂映像檔,請將欄位留空。NON_BOOT_BLANK_DISK額外空白非開機磁碟的名稱。 NON_BOOT_BLANK_DISK_SIZE額外空白非開機磁碟的大小,例如 20GB。VM_NAME新 VM 的名稱,名稱最多可包含 53 個英數字元和連字號。 MACHINE_TYPE新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
gdcloud compute machine-types listNO_BOOT_DISK_AUTO_DELETE指定 true,即可在刪除 VM 執行個體時保留開機磁碟;指定false,則會自動刪除開機磁碟。
API
建立具有非開機磁碟的 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管理 API 伺服器 kubeconfig 檔案。 PROJECT要在 VM 中建立的 GDC 專案。 NON_BOOT_DISK_FROM_IMAGE您從映像檔建立的其他非開機磁碟名稱。 NON_BOOT_DISK_IMAGE_NAME非開機磁碟要使用的映像檔名稱。 NON_BOOT_DISK_IMAGE_NAMESPACE非開機磁碟所用映像檔的命名空間。如要使用 GDC 提供的映像檔,請使用 vm-system;如要使用自訂映像檔,請留空。NON_BOOT_DISK_SIZE您從映像檔建立的額外非開機磁碟大小,例如 20Gi。NON_BOOT_BLANK_DISK額外空白非開機磁碟的名稱。 NON_BOOT_BLANK_DISK_SIZE額外空白非開機磁碟的大小,例如 20Gi。VM_BOOT_DISK_NAME新 VM 開機磁碟的名稱。 BOOT_DISK_IMAGE_NAME新 VM 開機磁碟要使用的映像檔名稱。 BOOT_DISK_IMAGE_NAMESPACE新 VM 開機磁碟所用映像檔的命名空間。如要使用 GDC 提供的映像檔,請使用命名空間 vm-system;如要使用自訂映像檔,請留空。BOOT_DISK_SIZE開機磁碟的大小,例如 20Gi。
這個值必須一律大於或等於開機磁碟映像檔的minimumDiskSize。VM_NAME新 VM 的名稱,名稱最多可包含 53 個英數字元和連字號。 MACHINE_TYPE新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-systemBOOT_DISK_AUTO_DELETE指定 true,即可在刪除 VM 執行個體時自動刪除開機磁碟,指定false則可保留開機磁碟。請在使用前先格式化及掛接磁碟。
透過快照或備份建立 VM
您可以透過下列方式,從快照建立新的 VM:
- 還原 VM 開機磁碟:如果您使用快照備份 VM 的開機磁碟,請使用該快照建立新的 VM。詳情請參閱「還原快照」。
- 還原非開機磁碟:如果您使用快照備份非開機磁碟,也可以在建立 VM 時,按照相同操作說明將快照還原至新的非開機磁碟。
如要使用同一個開機磁碟建立多個 VM,請按照下列步驟操作:
- 建立自訂映像檔。
- 根據該映像檔建立 VM,不使用快照。
建立具有指定 IP 位址和子網路的 VM 執行個體
根據預設,您可以建立 GDC VM,不需指定網路。這類 VM 會連結至預設虛擬私有雲,並從預設子網路動態指派 IP 位址。如要使用預設設定建立 VM,請參閱「使用 GDC 提供的映像檔建立 VM」。
如果不想使用 GDC VM 的預設 IP 位址設定,可以建立具有動態或靜態 IP 位址的 VM:
自訂子網路的動態 IP 位址:您建立具有特定
CIDR的子網路,並建立具有從該CIDR動態指派 IP 位址的 VM。自訂子網路的靜態 IP 位址:您建立具有特定
CIDR的子網路,並使用該CIDR的靜態 IP 位址建立 VM。
如要進一步瞭解如何建立子網路,請參閱「GDC 中的子網路和 IP 位址」。
本節說明如何建立具有動態指派 IP 位址或靜態 IP 位址的 VM。
建立 VM,並從自訂子網路動態指派 IP 位址
建立 VM,並從特定CIDR動態指派 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:
- network: NETWORK_NAME
subnet: SUBNET_NAME
EOF
請替換下列變數:
| 變數 | 定義 |
|---|---|
MANAGEMENT_API_SERVER |
管理 API 伺服器 kubeconfig 檔案。 |
PROJECT |
要建立 VM 的 GDC 專案。 |
VM_BOOT_DISK_NAME |
新 VM 開機磁碟的名稱。 |
BOOT_DISK_IMAGE_NAME |
新 VM 開機磁碟要使用的映像檔名稱。 |
BOOT_DISK_SIZE |
開機磁碟的大小,例如 20Gi。這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize。 |
VM_NAME |
新 VM 的名稱,名稱最多可包含 53 個英數字元和連字號。 |
MACHINE_TYPE |
新 VM 的預先定義機型。選取可用的機型:
kubectl --kubeconfig MANAGEMENT_API_SERVER get
virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
|
BOOT_DISK_AUTO_DELETE |
指定 true,即可在刪除 VM 執行個體時自動刪除開機磁碟,指定 false 則可保留開機磁碟。 |
NETWORK_NAME |
虛擬私有雲網路的名稱,例如 default。 |
SUBNET_NAME |
自訂子網路的名稱。 |
建立 VM,並使用子網路的靜態 IP 位址
建立 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:
- network: NETWORK_NAME
subnet: SUBNET_NAME
ipAddresses:
- address: IP_ADDRESS
EOF
請替換下列變數:
| 變數 | 定義 |
|---|---|
MANAGEMENT_API_SERVER |
管理 API 伺服器 kubeconfig 檔案。 |
PROJECT |
要建立 VM 的 GDC 專案。 |
VM_BOOT_DISK_NAME |
新 VM 開機磁碟的名稱。 |
BOOT_DISK_IMAGE_NAME |
新 VM 開機磁碟要使用的映像檔名稱。 |
BOOT_DISK_SIZE |
開機磁碟的大小,例如 20Gi。這個值一律必須大於或等於開機磁碟映像檔的 minimumDiskSize。 |
VM_NAME |
新 VM 的名稱,名稱最多可包含 53 個英數字元和連字號。 |
MACHINE_TYPE |
新 VM 的預先定義機型。如要選取可用的機型,請執行下列指令:
kubectl --kubeconfig MANAGEMENT_API_SERVER get
virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
|
BOOT_DISK_AUTO_DELETE |
指定 true,即可在刪除 VM 執行個體時自動刪除開機磁碟,指定 false 則可保留開機磁碟。 |
NETWORK_NAME |
虛擬私有雲網路的名稱,例如 default。 |
SUBNET_NAME |
自訂子網路的名稱。 |
IP_ADDRESS |
IP 位址。必須位於所選子網路範圍內。「ipAddresses」欄位只能指定一個 IP 位址。 |