Compute Engine 預留項目可確保您取得 Compute Engine 虛擬機器 (VM) 執行個體的容量。預留項目可確保專案能預留特定屬性 (例如機器類型) 的 VM 容量。
建立預留項目後,有助於保護工作負載,避免因容量不足而發生錯誤。詳情請參閱 Compute Engine 的預留資源總覽。
本文說明如何設定工作站設定,方法是設定預訂項目關聯性,以使用預留容量。在 API 中,這些親和性參數統稱為 ReservationAffinity。
事前準備
- 建立 Compute Engine 預留項目。預留項目必須與工作站叢集位於相同專案和區域,並以相同可用區為目標。
- 保留項目的機器屬性 (例如機器類型)必須與您要在工作站設定中使用的屬性相符。
預留項目相依性的運作方式
您可以指定工作站設定的預留項目相依性,控管工作站設定耗用預留容量的方式。共有三種模式:
- 特定預留項目:設定僅使用特定相符預留項目的容量。使用
--reservation-affinity旗標和consume-reservation-type=specific-reservation,即可指定這個預訂項目。 - 沒有預留項目:設定無法使用任何預留項目的容量。您可以使用
--reservation-affinity旗標搭配consume-reservation-type=no-reservation設定此項目。 - 任何相符的預留項目 (預設):預設情況下,如果您未指定預留項目相依性,Cloud Workstations 會使用專案中任何相符預留項目的容量。發生這種情況的原因是,底層的 Compute Engine 執行個體預設會使用任何相符的預留資源。
設定預留項目相依性
如要控管預訂項目用量,請在建立或更新工作站設定時指定 --reservation-affinity 標記。
使用特定預留項目
如要建立工作站設定,只從特定具名預留項目消耗容量,請執行下列 gcloud CLI 指令:
gcloud beta workstations configs create WORKSTATION_CONFIG_ID \
--cluster=WORKSTATION_CLUSTER_ID \
--region=REGION \
--project=PROJECT_ID \
--machine-type=MACHINE_TYPE \
--reservation-affinity=consume-reservation-type=specific-reservation,key=compute.googleapis.com/reservation-name,values=RESERVATION_NAME
更改下列內容:
WORKSTATION_CONFIG_ID:工作站設定的 ID。WORKSTATION_CLUSTER_ID:工作站叢集的 ID。REGION:工作站叢集所在的區域。PROJECT_ID:專案 ID。MACHINE_TYPE:工作站設定中 VM 的機器類型,例如e2-standard-4。這個機器類型必須與預留項目的機器類型相符。RESERVATION_NAME:要從中取用容量的特定 Compute Engine 預留項目名稱。
如果您將工作站設定為使用特定預留項目,以這項設定啟動的工作站只會從該預留項目提取容量。如果預留項目運算資源用盡,設定就會降級,直到預留項目有可用運算資源為止。
禁止使用任何預留項目
如要建立不使用任何保留項目容量的工作站設定,請使用 --reservation-affinity=consume-reservation-type=no-reservation:
gcloud beta workstations configs create WORKSTATION_CONFIG_ID \
--cluster=WORKSTATION_CLUSTER_ID \
--region=REGION \
--project=PROJECT_ID \
--machine-type=MACHINE_TYPE \
--reservation-affinity=consume-reservation-type=no-reservation
您可以使用前一節列出的相同變數替代項目。