本頁說明如何在單一租戶節點上佈建 VM。單一租戶節點是實體伺服器,只會執行單一專案中的 VM。在單一用戶群節點上佈建 VM 之前,請先參閱單一用戶群節點總覽。
如要在單一用戶群節點上佈建 VM,必須符合下列條件:
建立單一用戶群節點範本。單一用戶群節點範本會為單一用戶群節點群組中的所有單一用戶群節點指定統一屬性。
使用先前建立的單一用戶群節點範本建立單一用戶群節點群組。
在單一用戶群節點群組中建立及佈建 VM。
事前準備
- 在單一用戶群節點上佈建 VM 前,請先檢查配額。視您預留的節點數量和大小而定,您可能需要申請額外配額。
-
如果尚未設定,請先設定驗證機制。驗證是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要在本機開發環境中執行程式碼或範例,您可以選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
建立單一用戶群節點範本
單一租戶節點範本是地區資源,可指定單一租戶節點群組的屬性。您必須先建立節點範本,才能建立節點群組。不過,如果您使用 Google Cloud 控制台,則必須在建立單租戶節點群組時建立節點範本。
主控台
您必須先建立單一用戶群節點範本,才能建立節點群組。使用 Google Cloud 控制台時,您必須在建立單一租用戶節點群組時建立節點範本。系統會在您在節點群組屬性中指定的地區建立新節點範本。
前往 Google Cloud 控制台中的「Sole-tenant nodes」(單租戶節點) 頁面。
按一下「建立節點群組」。
指定節點群組的「名稱」。
指定要建立節點範本的「區域」。您可以使用節點範本,在該區域的任何區域中建立節點群組。
指定「區域」,然後按一下「繼續」。
在「Node template」清單中,按一下「Create node template」,開始建立單一用戶群節點範本。
指定節點範本的「名稱」。
為節點群組中的每個單一用戶群節點指定節點類型,以便根據這個節點範本建立。
選用:您也可以為節點範本指定下列屬性。
- 新增本機 SSD 和 GPU 加速器。
選取「啟用 CPU 超額配置」,即可控管節點中排程各 VM 的 CPU 超額配置程度。
新增節點相依性標籤。相依性標籤可讓您以邏輯方式將節點和節點群組分組,日後在佈建 VM 時,您可以為 VM 指定相依性標籤,將 VM 排程到特定的節點或節點群組。詳情請參閱「節點相依性和反相依性」。
按一下 [Create] (建立),完成建立節點範本。
選用:如要在其他地區新增新的單一租用者節點範本,請重複上述步驟。
如要查看節點範本,請在「單一用戶群節點」頁面中按一下「節點範本」。
gcloud
使用 gcloud compute sole-tenancy node-templates
create
指令建立節點範本:
gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \ --node-type=NODE_TYPE \ [--region=REGION \] [--node-affinity-labels=AFFINITY_LABELS \] [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--disk type=local-ssd,count=DISK_COUNT,size=DISK_SIZE \] [--cpu-overcommit-type=CPU_OVERCOMMIT_TYPE]
更改下列內容:
TEMPLATE_NAME
:新節點範本的名稱。NODE_TYPE
:根據此範本建立的單一用戶群節點的節點類型。使用gcloud compute sole-tenancy node-types list
指令取得每個區域中可用的節點類型清單。REGION
:建立節點範本的區域。您可以使用這個範本,在該區域的任何區域中建立節點群組。AFFINITY_LABELS
:相依性標籤的鍵和值[KEY=VALUE,...]
。相依性標籤可讓您以邏輯方式將節點和節點群組分組,之後在佈建 VM 時,您可以在 VM 上指定相依性標籤,將 VM 排程到特定的節點或節點群組。詳情請參閱「節點相依性和反相依性」。GPU_TYPE
:根據這個節點範本建立的每個單一租用者節點的 GPU 類型。如要瞭解區域的 GPU 供應情形,請使用gcloud compute accelerator-types list
指令,並選擇可使用n1
或g2
專屬節點類型的區域。視可用區可用性而定,請設定下列其中一個選項:nvidia-l4
nvidia-tesla-p100
nvidia-tesla-p4
nvidia-tesla-t4
nvidia-tesla-v100
GPU_COUNT
:視 GPU 類型而定,指定的 GPU 數量。請將其設為 GPU 類型指定的值,如下表所示:GPU_TYPE
GPU_COUNT
nvidia-l4
8 nvidia-tesla-p100
4 nvidia-tesla-p4
4 nvidia-tesla-t4
4 nvidia-tesla-v100
8 DISK_COUNT
:SSD 磁碟數量。設為16
或24
。DISK_SIZE
:本機 SSD 分區大小的 GB 值 (選用)。系統僅支援375
的磁碟區大小,如果未設定這個值,則預設為375
。
CPU_OVERCOMMIT_TYPE
:VM 上 CPU 的超額配置類型。設為enabled
或none
。
REST
使用 nodeTemplates.insert
方法建立節點範本:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates { "name": "TEMPLATE_NAME", "nodeType": "NODE_TYPE", "nodeAffinityLabels": { "KEY": "VALUE", ... }, "accelerators": [ { "acceleratorType": "GPU_TYPE", "acceleratorCount": GPU_COUNT } ], "disks": [ { "diskType": "local-ssd", "diskSizeGb": DISK_SIZE, "diskCount": DISK_COUNT } ], "cpuOvercommitType": CPU_OVERCOMMIT_TYPE }
更改下列內容:
PROJECT_ID
:專案 ID。REGION
:建立節點範本的區域。您可以使用這個範本,在該區域的任何區域中建立節點群組。TEMPLATE_NAME
:新節點範本的名稱。NODE_TYPE
:根據此範本建立的單一用戶群節點的節點類型。使用nodeTypes.list
方法,取得各區域可用的節點類型清單。KEY
:指定節點關聯標籤鍵部分的nodeAffinityLabels
值,以鍵/值組合表示。相依性標籤可讓您以邏輯方式將節點和節點群組分組,之後在佈建 VM 時,您可以為 VM 指定相依性標籤,以便在特定的節點或節點群組上安排 VM。詳情請參閱「節點相依性和反相依性」。VALUE
:指定節點關聯標籤鍵/值組合值部分的nodeAffinityLabels
值。GPU_TYPE
:根據這個節點範本建立的每個單一租用者節點的 GPU 類型。如要瞭解區域的 GPU 供應情形,請使用gcloud compute accelerator-types list
指令,並選擇可使用n1
或g2
專屬節點類型的區域。視可用區可用性而定,請設定下列其中一個選項:nvidia-l4
nvidia-tesla-p100
nvidia-tesla-p4
nvidia-tesla-t4
nvidia-tesla-v100
GPU_COUNT
:根據此節點範本建立的每個單一租用者節點的 GPU 數量。設為為 GPU 類型指定的值,如下表所示:GPU_TYPE
GPU_COUNT
nvidia-l4
8 nvidia-tesla-p100
4 nvidia-tesla-p4
4 nvidia-tesla-t4
4 nvidia-tesla-v100
8 DISK_SIZE
:本機 SSD 分區大小的 GB 值 (選用)。系統僅支援375
的磁碟區大小,如果未設定這個值,則預設為375
。DISK_COUNT
:SSD 磁碟數量。設為16
或24
。CPU_OVERCOMMIT_TYPE
:CPU 超額配置類型。設為enabled
、none
或CPU_OVERCOMMIT_TYPE_UNSPECIFIED
。
建立單一用戶群節點群組
使用先前建立的單一用戶群節點範本,建立單一用戶群節點群組。單一用戶群節點群組會繼承單一用戶群節點範本指定的屬性,並具有您必須指定的其他值。
主控台
前往 Google Cloud 控制台中的「Sole-tenant nodes」(單租戶節點) 頁面。
按一下 [Create node group] (建立節點群組) 開始建立節點群組。
指定節點群組的「名稱」。
指定節點群組的地區,以便顯示該地區的可用節點範本。
指定要建立節點群組的區域內區域。
指定節點範本來建立節點群組,或按一下「建立節點範本」,建立新的單一用戶群節點範本。所選節點範本會套用至節點群組。
請為節點群組自動配置器選擇下列其中一種自動調度資源模式:
關閉:手動管理節點群組的大小。
開啟:自動將節點新增至節點群組或從中移除。
僅向外擴充:當需要額外容量時,在節點群組中新增節點。
指定群組的「節點數量」。如果您啟用節點群組自動配置器,請指定節點群組大小的範圍。您可以稍後手動變更這些值。
在「Configure Maintenance Settings」部分,將專屬節點群組的維護政策設為下列任一值。您可以透過維護政策,設定節點群組在主機維護事件期間的 VM 行為。詳情請參閱「維護政策」。
- 預設
- 就地重新啟動
- 在節點群組內遷移
您可以選擇使用定期維護期間或進階維護控制項,為單一租用戶節點群組處理維護作業,如下所示:
維護期間:選取要讓單一用戶群節點群組中的節點執行預定維護事件的時間範圍。
選擇啟用單一用戶群的進階維護控制項: 單一用戶群的進階維護控制項可讓您控制單一用戶群節點群組的預定維護事件,並盡量減少維護相關中斷情形。如要選擇啟用進階維護控制項,請將「Opt-in for advanced maintenance control for sole-tenancy」切換鈕設為「on」。如果您選擇使用這個選項進行節點維護,系統會停用「維護期間」欄位,並按照進階維護控制項的設定進行維護作業。
請注意,進階維護控制項僅支援「預設」維護政策。
在「調整共用設定」中指定下列其中一個選項,即可調整共用設定:
- 如要與貴機構中的所有專案共用節點群組,請選擇「與機構中的所有專案共用這個節點群組」。
- 如要與機構中的特定專案共用節點群組,請選擇「與機構中的指定專案共用這個節點群組」。
如果您不想共用節點群組,請選擇「不要與其他專案共用這個節點群組」。如要進一步瞭解如何共用節點群組,請參閱「共用單一用戶群節點群組」。
按一下「建立」,完成建立節點群組。
gcloud
執行 gcloud compute sole-tenancy node-groups
create
指令,根據先前建立的節點範本建立節點群組:
gcloud compute sole-tenancy node-groups create GROUP_NAME \ --node-template=TEMPLATE_NAME \ --target-size=TARGET_SIZE \ [--zone=ZONE \] [--maintenance-policy=MAINTENANCE_POLICY \] [--maintenance-window-start-time=START_TIME \] [--autoscaler-mode=AUTOSCALER_MODE: \ --min-nodes=MIN_NODES \ --max-nodes=MAX_NODES]
更改下列內容:
GROUP_NAME
:新節點群組的名稱。TEMPLATE_NAME
:用於建立此群組的節點範本名稱。TARGET_SIZE
:要在群組中建立的節點數量。ZONE
:要建立節點群組的可用區。這個區域必須與您用來建立節點群組的節點範本所在區域相同。MAINTENANCE_POLICY
:節點群組的維護政策。詳情請參閱「維護政策」。必須是下列其中一個值:default
restart-in-place
migrate-within-node-group
或者,您也可以使用
--maintenance-interval
標記,為單一租用戶節點群組啟用進階維護控制項。詳情請參閱「在單一用戶群節點啟用進階維護控制功能」。START_TIME
:這個節點群組中 VM 維護時段的開始時間 (以格林威治標準時間為準)。請將其設為下列其中一個:00:00
、04:00
、08:00
、12:00
、16:00
或20:00
。如果未設定,節點群組就沒有設定維護期間。AUTOSCALER_MODE
:節點群組的自動配置器政策。必須是下列其中一種:off
:手動管理節點群組的大小。on
:自動將節點新增至或移除節點群組。only-scale-out
:需要額外容量時,在節點群組中新增節點。
MIN_NODES
:節點群組的最小大小。預設值為0
,且必須是小於或等於MAX_NODES
的整數值。MAX_NODES
:節點群組的大小上限。這個值必須小於或等於100
,且大於或等於MIN_NODES
。如果AUTOSCALER_MODE
未設為off
,則為必要欄位。
REST
使用 nodeGroups.insert
方法,根據先前建立的節點範本建立節點群組:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups?initialNodeCount=TARGET_SIZE
{ "nodeTemplate": "regions/REGION/nodeTemplates/TEMPLATE_NAME", "name": "GROUP_NAME", "maintenancePolicy": MAINTENANCE_POLICY, "maintenanceWindow": { "startTime": "START_TIME" } "autoscalingPolicy": { "mode": AUTOSCALER_MODE, "minNodes": MIN_NODES, "maxNodes": MAX_NODES }, }
更改下列內容:
PROJECT_ID
:專案 ID。ZONE
:要建立節點群組的可用區。這個區域必須與您用於建立節點群組的節點範本位於同一個地區。TARGET_SIZE
:要在群組中建立的節點數量。REGION
:要建立節點群組的區域。您必須在所選區域中擁有節點範本。TEMPLATE_NAME
:用於建立此群組的節點範本名稱。GROUP_NAME
:新節點群組的名稱。MAINTENANCE_POLICY
:節點群組的維護政策。必須是下列其中一個值:DEFAULT
RESTART_IN_PLACE
MIGRATE_WITHIN_NODE_GROUP
或者,您也可以使用
maintenanceInterval
欄位,為單一租用戶節點群組選擇啟用進階維護控制項。詳情請參閱「在單一用戶群節點啟用進階維護控制功能」。START_TIME
:這個節點群組中 VM 維護時段的開始時間 (以格林威治標準時間為準)。請將其設為下列其中一個:00:00
、04:00
、08:00
、12:00
、16:00
或20:00
。如果未設定,節點群組就沒有設定維護期間。AUTOSCALER_MODE
:節點群組的自動配置器政策。必須是下列其中一個值:OFF
:手動管理節點群組的大小。ON
:自動將節點新增至或移除節點群組。ONLY_SCALE_OUT
:需要額外容量時,在節點群組中新增節點。
MIN_NODES
:節點群組的最小大小。預設值為0
,且必須是小於或等於MAX_NODES
的整數值。MAX_NODES
:節點群組的大小上限。這個值必須小於或等於100
,且大於或等於MIN_NODES
。如果AUTOSCALER_MODE
未設為OFF
,則為必要欄位。
佈建單一用戶群 VM
根據先前建立的節點範本建立節點群組後,您就可以在單一用戶群節點群組中佈建個別 VM。
如要在特定節點或節點群組上佈建 VM,且該節點或節點群組的親和性標籤與先前指派給節點範本的標籤相符,請按照建立 VM 執行個體的標準程序操作,並將親和性標籤指派給 VM。
或者,您也可以按照下列程序,透過節點群組詳細資料頁面,在單一用戶群節點上佈建 VM。根據您用於佈建 VM 的節點群組,Compute Engine 會指派相依性標籤。
主控台
前往 Google Cloud 控制台中的「Sole-tenant nodes」(單租戶節點) 頁面。
按一下「節點群組」。
按一下要佈建 VM 執行個體的節點群組「名稱」,然後視需要在特定單一用戶群節點上佈建 VM,按一下要佈建 VM 的特定單一用戶群節點名稱。
按一下「Create instance」,在這個節點群組上佈建 VM 執行個體,請注意系統自動套用的「Name」、「Region」和「Zone」值,並視需要修改這些值。
指定機器系列、系列和機器類型,選取機器設定。選擇與單一租用戶節點類型相對應的「系列叢書」。
視需要修改開機磁碟、防火牆和其他設定。
按一下「Sole Tenancy」(單獨租用),記下自動指派的「Node Affinity Labels」(節點相依性標籤),並使用「Browse」(瀏覽) 視需要進行調整。
按一下「管理」,然後針對「在主機維護期間」,選擇下列其中一個選項:
遷移 VM 執行個體 (建議做法):在維護事件期間,將 VM 遷移至節點群組中的其他節點。
終止:在維護事件期間停止 VM。
請為「自動重新啟動」選取下列其中一個選項:
啟用 (建議):如果 VM 因維護事件而停止,系統會自動重新啟動 VM。
關閉:在維護事件發生後,不會自動重新啟動 VM。
按一下「Create」,完成專屬 VM 的建立程序。
gcloud
使用 gcloud compute instances
create
指令指令,在單一用戶群節點群組中佈建 VM:
gcloud compute instances create VM_NAME \ [--zone=ZONE \] --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --node-group=GROUP_NAME \ --machine-type=MACHINE_TYPE \ [--maintenance-policy=MAINTENANCE_POLICY \] [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--local-ssd interface=SSD_INTERFACE \] [--restart-on-failure]
--restart-on-failure
標記可指出專屬 VM 是否會在停止後重新啟動。這個標記預設為啟用。如要停用,請使用 --no-restart-on-failure
。
更改下列內容:
VM_NAME
:新的單租戶 VM 名稱。ZONE
:要用於佈建單一用戶群 VM 的可用區。IMAGE_FAMILY
:要用來建立 VM 的圖片圖片系列。IMAGE_PROJECT
:映像檔系列的映像檔專案。GROUP_NAME
:要為 VM 佈建的節點群組名稱。MACHINE_TYPE
:單一租用戶 VM 的機器類型。使用gcloud compute machine-types list
指令,取得專案可用的機器類型清單。MAINTENANCE_POLICY
:指定在維護事件期間,專屬 VM 的重新啟動行為。請將其設為下列其中一個值:MIGRATE
:在維護事件期間,VM 已遷移至節點群組中的另一個節點。TERMINATE
:VM 在維護事件期間停止。
GPU_TYPE
:GPU 類型。將此屬性設為建立節點範本時指定的其中一種加速器類型。GPU_COUNT
:節點範本指定的 GPU 總數,用於附加至此 VM。預設值為1
。SSD_INTERFACE
:本機 SSD 介面類型。您只能針對透過支援本機 SSD 的節點範本建立的執行個體設定這項屬性。如果您在建立執行個體時指定本機 SSD,但節點範本不支援本機 SSD,執行個體建立作業就會失敗。如果開機磁碟映像檔驅動程式已針對 NVMe 進行最佳化,請將此值設為nvme
;否則請將其設為scsi
。請為每個本機 SSD 分區指定這個標記和對應的值一次。
REST
請使用 instances.insert
方法,在單一用戶群節點群組中佈建 VM:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/VM_ZONE/instances
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "scheduling": { "onHostMaintenance": MAINTENANCE_POLICY, "automaticRestart": RESTART_ON_FAILURE, "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] }
更改下列內容:
PROJECT_ID
:專案 ID。VM_ZONE
:要佈建單一用戶群 VM 的區域。MACHINE_TYPE_ZONE
:機器類型的可用區。MACHINE_TYPE
:單一租用戶 VM 的機器類型。使用machineTypes.list
方法取得專案可用的機器類型清單。VM_NAME
:新的單租戶 VM 名稱。MAINTENANCE_POLICY
:指定在維護事件期間,專屬 VM 的重新啟動行為。請將其設為下列其中一個值:MIGRATE
:在維護事件期間,VM 已遷移至節點群組中的另一個節點。TERMINATE
:VM 在維護事件期間停止。
RESTART_ON_FAILURE
:指出專屬 VM 是否會在停止後重新啟動。預設值為true
。GROUP_NAME
:要為 VM 佈建的節點群組名稱。NETWORK
:這個 VM 的網路資源網址。REGION
:包含此 VM 子網路的區域。SUBNETWORK
:這個 VM 的子網路資源網址。GPU_TYPE
:GPU 類型。將此屬性設為建立節點範本時指定的其中一種加速器類型。GPU_COUNT
:節點範本指定的 GPU 總數,用於附加至此 VM。預設值為1
。IMAGE_PROJECT
:圖片系列的圖片專案。IMAGE_FAMILY
:要用來建立 VM 的圖像圖像系列。LOCAL_SSD_ZONE
:本機 SSD 的區域。SSD_INTERFACE
:本機 SSD 介面類型。如果開機磁碟映像檔驅動程式已針對 NVMe 進行最佳化,請將其設為NVME
,否則請設為SCSI
。
佈建一組單一用戶群 VM
代管執行個體群組 (MIG) 可讓您佈建一組相同的專屬 VM。相依性標籤可讓您指定單一用戶群節點或節點群組,以便為單一用戶群 VM 群組佈建。
針對區域性 MIG,您必須在每個區域性 MIG 的區域中建立節點群組,並在區域性 MIG 的執行個體範本中指定這些節點群組的節點相依性。
gcloud
使用
gcloud compute instance-templates create
指令建立代管執行個體群組範本,讓一組 VM 在單一租用戶節點群組中建立:gcloud compute instance-templates create INSTANCE_TEMPLATE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --node-group=GROUP_NAME \ [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--local-ssd interface=SSD_INTERFACE]
更改下列內容:
INSTANCE_TEMPLATE
:新執行個體範本的名稱。MACHINE_TYPE
:單一租用者 VM 的機器類型。使用gcloud compute machine-types list
指令,取得專案可用的機器類型清單。IMAGE_PROJECT
:映像檔系列的映像檔專案。IMAGE_FAMILY
:用於建立 VM 的映像檔系列。GROUP_NAME
:要為 VM 佈建的節點群組名稱。或者,如果您想使用這個執行個體範本建立位於多個區域的區域 MIG,請使用--node-affinity-file
標記指定區域 MIG 節點群組的值清單。GPU_TYPE
:GPU 類型。將此屬性設為建立節點範本時指定的其中一種加速器類型。GPU_COUNT
:節點範本指定的 GPU 總數,用於附加至此 VM。預設值為1
。SSD_INTERFACE
:本機 SSD 介面類型。如果開機磁碟映像檔驅動程式已針對 NVMe 進行最佳化,請將其設為nvme
,否則請設為scsi
。請為每個本機 SSD 分區指定這個標記和對應的值一次。
使用
gcloud compute instance-groups managed create
指令指令,在單一租用戶節點群組中建立代管執行個體群組:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE \ --zone=ZONE
更改下列內容:
INSTANCE_GROUP_NAME
:這個執行個體群組的名稱。SIZE
:要納入此執行個體群組的 VM 數量。您的節點群組必須具備足夠的資源,才能容納代管執行個體群組中的執行個體。使用代管執行個體群組自動配置器,自動管理代管執行個體群組的大小。INSTANCE_TEMPLATE
:用於建立此 MIG 的執行個體範本名稱。此範本必須具備一或多個節點相依性標籤,指向適當的節點群組。ZONE
:建立代管執行個體群組的可用區。針對區域性 MIG,請將--zone
標記替換為--region
標記,並指定區域;此外,請新增--zones
標記,指定節點群組所在的所有可用區。
REST
使用
instanceTemplates.insert
方法,在單一租用戶節點群組中建立代管執行個體群組範本:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/TEMPLATE_ZONE/instance-templates { "name": "INSTANCE_TEMPLATE", "properties": { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "scheduling": { "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] } }
更改下列內容:
PROJECT_ID
:專案 ID。TEMPLATE_ZONE
:建立執行個體範本的可用區。INSTANCE_TEMPLATE
:新執行個體範本的名稱。MACHINE_TYPE_ZONE
:機器類型的可用區。MACHINE_TYPE
:單一租用戶 VM 的機器類型。使用machineTypes.list
方法,取得專案可用的機器類型清單。GROUP_NAME
:要為 VM 佈建的節點群組名稱。如果您想使用這個執行個體範本,建立位於多個區域的區域 MIG,請指定與區域 MIG 區域位於相同區域的節點群組清單。NETWORK
:此例項範本的網路資源網址。REGION
:包含此執行個體範本子網路的區域。SUBNETWORK
:這個執行個體範本的子網路資源網址。GPU_TYPE
:GPU 類型。將此屬性設為建立節點範本時指定的其中一種加速器類型。GPU_COUNT
:節點範本指定的 GPU 總數,用於附加至此 VM。預設值為1
。IMAGE_PROJECT
:映像檔系列的映像檔專案。IMAGE_FAMILY
:要用來建立 VM 的圖片圖片系列。LOCAL_SSD_ZONE
:本機 SSD 的區域。SSD_INTERFACE
:本機 SSD 介面類型。如果開機磁碟映像檔驅動程式已針對 NVMe 進行最佳化,請將其設為NVME
,否則請設為SCSI
。
使用
instanceGroupManagers.insert
方法,根據先前建立的執行個體範本,在單一用戶群節點群組中建立 MIG。或者,如果您想建立區域性 MIG,請使用regionInstanceGroupManagers.insert
方法,並按照執行個體範本中指定的方式指定所有節點群組的區域和區域。舉例來說,如要建立區域 MIG,請使用以下要求:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "baseInstanceName": "NAME_PREFIX", "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE" }
更改下列內容:
PROJECT_ID
:專案 ID。ZONE
:建立代管執行個體群組的可用區。NAME_PREFIX
:代管執行個體群組中每個執行個體的前置字串名稱。INSTANCE_GROUP_NAME
:執行個體群組的名稱。SIZE
:要納入此執行個體群組的 VM 數量。您的節點群組必須具備足夠的資源,才能容納代管執行個體群組中的執行個體。使用代管執行個體群組自動配置器,自動管理代管執行個體群組的大小。INSTANCE_TEMPLATE
:用於建立此群組的執行個體範本網址。此範本必須具備指向適當節點群組的節點相依性標籤。
設定節點相依性標籤
節點相依性標籤可讓您以邏輯方式將節點群組分組,並在特定一組節點群組上排程 VM。您也可以使用節點相依性標籤,在不同區域的節點群組中排程虛擬機器,同時將節點群組保留在邏輯群組中。以下程序是使用相依性標籤的範例,可將 VM 與用於實際工作負載的特定節點群組建立關聯。本例說明如何排程單一 VM,但您也可以使用代管執行個體群組排程一組 VM。
gcloud
使用
gcloud compute sole-tenancy node-templates create
指令建立節點範本,為實際工作負載提供一組關聯標籤:gcloud compute sole-tenancy node-templates create prod-template \ --node-type=n1-node-96-624 \ --node-affinity-labels workload=frontend,environment=prod
使用
gcloud compute sole-tenancy node-templates describe
指令查看指派給節點範本的節點關聯標籤。使用
gcloud compute sole-tenancy node-groups create
指令建立使用實際工作環境範本的節點群組:gcloud compute sole-tenancy node-groups create prod-group \ --node-template=prod-template \ --target-size=1
針對實際工作環境 VM,請建立
node-affinity-prod.json
檔案,以便指定實際工作環境 VM 的相依性。舉例來說,您可以建立檔案,指定 VM 只在具有workload=frontend
和environment=prod
相依性的節點上運作。使用 Cloud Shell 建立節點相依性檔案,或在您選擇的位置建立檔案。[ { "key" : "workload", "operator" : "IN", "values" : ["frontend"] }, { "key" : "environment", "operator" : "IN", "values" : ["prod"] } ]
使用
node-affinity-prod.json
檔案搭配gcloud compute instances create
指令,在節點群組中排定相符相依性標籤的 VM。gcloud compute instances create prod-vm \ --node-affinity-file node-affinity-prod.json \ --machine-type=n1-standard-2
使用
gcloud compute instances describe
指令並查看scheduling
欄位,即可查看指派給 VM 的節點相依性。
設定節點反相依性標籤
您可以將節點相依性標籤設為反相依性標籤,防止 VM 在特定節點上執行。舉例來說,您可以使用反相依性標籤,避免用於開發目的的 VM 與實際工作環境 VM 排程在同一節點上。以下範例說明如何使用關聯標籤,避免 VM 在特定節點群組中執行。這個範例說明如何排程單一 VM,但您也可以使用代管執行個體群組來排程一組 VM。
gcloud
針對開發 VM,請使用 Cloud Shell 建立
node-affinity-dev.json
,或在您選擇的位置建立node-affinity-dev.json
,藉此指定開發 VM 的親和性。舉例來說,您可以建立檔案來設定 VM 在具有workload=frontend
相依性的任何節點群組上執行,但前提是該節點群組不具有environment=prod
:[ { "key" : "workload", "operator" : "IN", "values" : ["frontend"] }, { "key" : "environment", "operator" : "NOT_IN", "values" : ["prod"] } ]
使用
node-affinity-dev.json
檔案搭配gcloud compute instances create
指令建立開發 VM:gcloud compute instances create dev-vm \ --node-affinity-file=node-affinity-dev.json \ --machine-type=n1-standard-2
使用
gcloud compute instances describe
指令並查看scheduling
欄位,即可查看指派給 VM 的節點反相依附性。
刪除節點群組
如果您需要刪除單一租用戶節點群組,請先從節點群組中移除任何 VM。
主控台
前往「Sole-tenant nodes」(單一用戶群節點) 頁面。
按一下要刪除的節點群組名稱。
針對節點群組中的每個節點,請在節點詳細資料頁面中按一下節點名稱,然後刪除個別的 VM 執行個體,或按照標準程序刪除個別 VM。如要刪除代管執行個體群組中的 VM,請刪除代管執行個體群組。
刪除節點群組中所有節點上執行的所有 VM 執行個體後,請返回「單一租用戶節點」頁面。
按一下「節點群組」。
選取要刪除的節點群組名稱。
點選「刪除」。
gcloud
使用
gcloud compute sole-tenancy node-groups list-nodes
指令,列出節點群組中節點上執行中的 VM 執行個體:gcloud compute sole-tenancy node-groups list-nodes GROUP_NAME \ --zone=ZONE
更改下列內容:
GROUP_NAME
:節點群組名稱ZONE
:節點群組的可用區
如果節點群組中有任何執行中的 VM,請按照刪除個別 VM 的程序或刪除代管執行個體群組的程序進行。
刪除節點群組中所有節點上執行的所有 VM 後,請使用
gcloud compute sole-tenancy node-groups delete
指令刪除節點群組:gcloud compute sole-tenancy node-groups delete GROUP_NAME \ --zone=ZONE
更改下列內容:
GROUP_NAME
:節點群組的名稱ZONE
:節點群組的可用區
REST
使用
nodeGroups.listNodes
方法,列出節點群組中節點上執行中的 VM 執行個體:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/GROUP_NAME/listNodes
更改下列內容:
PROJECT_ID
:專案 IDZONE
:節點群組的可用區GROUP_NAME
:要列出 VM 的群組
如果節點群組中有任何執行中的 VM,請按照刪除個別 VM 的程序或刪除代管執行個體群組的程序進行。
刪除在節點群組所有節點上執行的所有 VM 後,請使用
nodeGroups.delete
方法刪除節點群組:DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/GROUP_NAME
更改下列內容:
PROJECT_ID
:專案 IDZONE
:節點群組的可用區GROUP_NAME
:要刪除的節點群組名稱
刪除節點範本
刪除使用該範本的所有節點群組後,您就可以刪除節點範本。
主控台
前往 Google Cloud 控制台中的「Sole-tenant nodes」(單租戶節點) 頁面。
按一下「節點範本」。
選取未使用的節點範本名稱。
點選「刪除」。
gcloud
使用 gcloud compute sole-tenancy node-templates delete
指令刪除未使用的節點範本:
gcloud compute sole-tenancy node-templates delete TEMPLATE_NAME \ --region=REGION
更改下列內容:
TEMPLATE_NAME:要刪除的節點範本名稱
REGION:節點範本的地區
REST
使用 compute.nodeTemplates.delete
方法刪除未使用的節點範本:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates/TEMPLATE_NAME
更改下列內容:
PROJECT_ID:您的專案 ID
REGION:包含節點範本的 Google Cloud 區域
TEMPLATE_NAME:要刪除的節點範本名稱
後續步驟
- 如要瞭解單一用戶群節點的定價,請參閱「單一用戶群節點定價」。
如要瞭解如何在單一用戶群節點群組中啟用自動調度資源功能,請參閱「節點群組自動配置器」。
如要進一步瞭解如何將現有授權移至 Google Cloud,請參閱「匯入現有授權」。
如要進一步瞭解單一用戶群節點,請參閱「單一用戶群節點」。