使用代管型執行個體


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

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

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

為確保 MIG 不會還原您的設定變更,請務必使用本文件所述的方法。如果您使用群組以外的方法修改 MIG 的 VM,MIG 可能會或不會偵測到這些 VM 不再使用群組的預期設定,因此您可能會遇到意料之外的結果。舉例來說,如果您使用執行個體 API 而非必要的執行個體群組管理員 API 刪除或更新 MIG 中的 VM,MIG 將不會瞭解您的意圖,且在日後的任何時間,MIG 都可能會根據 MIG 的設定,自動嘗試重新建立或還原該 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

    1. 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.

    2. 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.

什麼是管理型執行個體?

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

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

  • 例項生命週期狀態,例如 RUNNINGSTOPPING
  • MIG 在執行個體上執行的目前動作,例如:RESTARTINGVERIFYINGNONE
  • 執行個體健康狀態,例如 HEALTHYUNHEALTHY

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

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

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

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

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

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

將執行個體新增至 MIG

若要將更多執行個體新增至 MIG,您可以:

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

手動調整大小

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

自動調度資源

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

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

如果您有依賴特定名稱的系統,可以將具有這些名稱的 VM 新增至現有的 MIG。如果 MIG 重新建立 VM,您指派給這些代管執行個體的名稱會保留下來。詳情請參閱「在 MIG 中使用指定名稱建立執行個體」一文

如要進一步瞭解如何保留 MIG 執行個體的狀態,請參閱「有狀態的 MIG」。

刪除 MIG 中的執行個體

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

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

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

如要刪除代管執行個體,您可以:

更新 MIG 中的 VM 設定

如果您需要變更 MIG 中的 VM 設定 (例如修改開機磁碟或機器類型、新增磁碟或變更其他 VM 屬性),請參閱「更新 MIG 中的 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 執行個體名稱,但執行個體建立時間戳記可能不會變更。如要確認重建作業在未變更執行個體建立時間戳記的情況下已建立新執行個體,請檢查附加至該執行個體的開機磁碟建立時間戳記。

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

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

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

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

後續步驟