使用代管型執行個體

代管執行個體群組 (MIG) 會根據您使用的設定元件,建立每個代管執行個體:執行個體範本、選用的所有執行個體設定,以及選用的具狀態設定。

每個代管執行個體都是資料實體,代表 MIG 中實際虛擬機器 (VM) 執行個體的預期狀態。

請參閱本文,瞭解如何可靠地使用 MIG 中的代管執行個體。舉例來說,您可能需要新增、移除、更新或查看特定執行個體的相關資訊。

為確保 MIG 不會還原您的設定變更,請務必使用本文所述方法。如果您在群組方法以外修改 MIG 的 VM,MIG 可能會偵測到這些 VM 不再使用群組的預期設定,也可能不會偵測到,因此您可能會遇到非預期的結果。舉例來說,如果您使用執行個體 API 刪除或更新 MIG 中的 VM,而非使用必要的執行個體群組管理員 API,MIG 不會知道您的意圖,而且在日後可能會根據 MIG 的設定,自動嘗試重新建立或還原該 VM。

事前準備

  • 請先查看限制,然後建立群組。
  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  • 設定預設地區和區域
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

什麼是受管理執行個體?

代管執行個體是 MIG 內的資料實體,包含實際 VM 執行個體的目前狀態和預期狀態。

代管執行個體的目前狀態包含下列欄位:

  • 執行個體生命週期狀態,例如 RUNNINGSTOPPING
  • 目前動作 代管執行個體群組:MIG 對執行個體執行的動作,例如:RESTARTINGVERIFYINGNONE
  • 執行個體健康狀態,例如 HEALTHYUNHEALTHY

實際 VM 執行個體的代管執行個體預期狀態包括:

  • 預期版本,也就是要用於執行個體的版本名稱和執行個體範本。
  • 要保留的項目 (例如磁碟或中繼資料) 的保留狀態

如圖 1 所示,對於 MIG 中的每個代管執行個體,MIG 會根據代管執行個體的規格,讓實際的 VM 保持運作。

根據您的設定,MIG 會自動產生代管執行個體,這些執行個體對應於 MIG 代表您維護的實際 VM 執行個體。

圖 1. 代管執行個體與對應 VM 之間的關係。

如要查看代管執行個體的規格,請參閱查看 MIG 中代管執行個體的相關資訊

將執行個體新增至 MIG

如要將更多執行個體新增至 MIG,請執行下列操作:

如要確認新增的執行個體是否正常運作,請驗證群組的狀態驗證代管執行個體的狀態

手動設定 MIG 大小

如果代管執行個體群組尚未設定為自動調度資源,您可以手動設定群組大小,以變更群組中的執行個體數量。詳情請參閱手動調整 MIG 的大小

透過大小調整要求一次建立多個 VM

您可以透過大小調整要求,一次將多個 GPU VM 新增至 MIG。這項功能可協助您避免在 Compute Engine 佈建所有資源時,因部分容量而產生費用。MIG 規模調整要求會使用「彈性啟動」或「取決於預留項目」佈建模式。這些模型可讓您以折扣價取得 vCPU 和 GPU。詳情請參閱「關於 MIG 中的大小調整要求」。

針對無狀態應用程式使用自動調度資源功能

您可以設定代管執行個體群組,根據執行個體的工作負載自動新增或移除執行個體。您的應用程式可緩解流量的增加,並且可在運算資源需求降低時節省成本。如要進一步瞭解如何自動調度 MIG 的資源,請參閱「自動調度執行個體群組資源」一文。

新增具有特定名稱的執行個體

如果工作負載或自動化調度管理系統需要特定執行個體名稱,您可以將具有這些名稱的執行個體新增至現有 MIG。如果 MIG 重新建立這些執行個體,您指派的名稱會保留下來。

根據您要如何將具有特定名稱的執行個體新增至 MIG,使用下列其中一種方法:

更新 MIG 中的 VM 設定

如要變更 MIG 中 VM 的設定 (例如修改開機磁碟或機型、新增磁碟,或變更其他 VM 屬性),請參閱「更新 MIG 中的 VM 設定」。

刪除 MIG 中的執行個體

刪除代管執行個體時,MIG 會減少群組的targetSize,並刪除對應的 VM 執行個體。

如果您設定有狀態的 MIG,MIG 會刪除執行個體保留的狀態設定。MIG 也會將執行個體從所屬的任何目標集區中移除。

如果群組屬於後端服務的一部分,且該服務已啟用連線排除,在連線排除持續時間過後,最長可能需要等待 60 秒才能移除或刪除 VM 執行個體。

如要刪除代管執行個體,請執行下列操作:

在 MIG 中重新建立執行個體

使用這個方法更新所選 VM,讓這些 VM 使用群組最新的VM 設定元件。如果需要在代管執行個體群組中重新建立所有 VM,請改為啟動滾動式更新

如果群組屬於後端服務的一部分,且該服務已啟用連線排除,在連線排除持續時間過後,最長可能需要等待 60 秒才能移除或刪除 VM 執行個體。

使用 gcloud CLIREST,從代管執行個體群組中重新建立所選的 VM 執行個體。

gcloud

使用 instance-groups managed recreate-instances 指令。

gcloud compute instance-groups managed recreate-instances INSTANCE_GROUP_NAME \
    --instances INSTANCE_NAME_1,INSTANCE_NAME_2 \
    [--region REGION | --zone ZONE]

REST

在 API 中,對 regionInstanceGroupManagers.recreateInstances 方法提出 POST 要求:對於區域代管執行個體群組,請使用 instanceGroupManagers.recreateInstances 方法。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/recreateInstances

{
 "instances": [
  "zones/ZONE/instances/INSTANCE_NAME_1",
  "zones/ZONE/instances/INSTANCE_NAME_2"
 ]
}

提出在代管執行個體群組中重新建立 VM 執行個體的要求後,一旦系統可以佈建 VM,新的 VM 即會開始運作。此程序可能會花費大量時間,花費時間視您重新建立的執行個體數而定。驗證群組的狀態驗證代管執行個體的狀態

重新建立作業會保留 VM 執行個體名稱,但執行個體建立時間戳記可能不會變更。如要確認重新建立作業是否已建立新執行個體,但執行個體建立時間戳記未變更,請檢查附加至該執行個體的開機磁碟建立時間戳記。

查看 MIG 中執行個體的相關資訊

請參閱查看 MIG 中代管執行個體的相關資訊

在 MIG 中設定有狀態的執行個體

請參閱「設定有狀態的 MIG」。

後續步驟