取代、移除或刪除工作負載政策

本文說明如何從受管理執行個體群組 (MIG) 中取代、移除或刪除工作負載政策。這些動作適用於下列情境:

  • 取代工作負載政策:您可以變更 Compute Engine 執行個體在 MIG 中的位置,或是改用更符合工作負載需求的政策。

  • 移除工作負載政策:如果工作負載不再需要特定放置規則,您可以停止使用這些規則,將 MIG 還原為預設的運算執行個體放置行為。

  • 刪除工作負載政策:您可以永久刪除不再需要的工作負載政策。

如要瞭解如何建立工作負載政策,請參閱「為 MIG 建立工作負載政策」。

限制

只有在 MIG 中沒有任何運算執行個體時,才能替換或移除 MIG 的工作負載政策。

事前準備

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

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

    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 進行驗證」。

必要的角色

如要取得取代、移除或刪除工作負載政策所需的權限,請要求管理員授予您專案的Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備取代、移除或刪除工作負載政策所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要取代、移除或刪除工作負載政策,您必須具備下列權限:

  • 如要取代或移除 MIG 的工作負載政策,請按照下列步驟操作: 按一下專案中的 compute.instances.update
  • 如要刪除工作負載政策: 在專案上按一下 compute.resourcePolicies.delete

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

取代 MIG 中的工作負載政策

如要以其他現有工作負載政策取代 MIG 中的工作負載政策,請選取下列任一選項:

gcloud

  1. 手動將 MIG 大小設為 0

  2. 如要取代 MIG 中的工作負載政策,請使用 gcloud compute instance-groups managed update 指令並加上 --workload-policy 旗標。根據 MIG 類型,加入下列其中一個標記:

    • 如要取代區域性 MIG 中的工作負載政策,請加入 --zone 標記:

      gcloud compute instance-groups managed update MIG_NAME \
          --workload-policy=WORKLOAD_POLICY \
          --zone=ZONE
      
    • 如要取代區域性 MIG 中的工作負載政策,請加入 --region 旗標:

      gcloud compute instance-groups managed update MIG_NAME \
          --workload-policy=WORKLOAD_POLICY \
          --region=REGION
      

    更改下列內容:

    • MIG_NAME:MIG 的名稱。

    • WORKLOAD_POLICY:要套用至 MIG 的工作負載政策名稱。

    • ZONE:可用區 MIG 所在的可用區。

    • REGION:區域性 MIG 和工作負載政策所在的區域。

REST

  1. 手動將 MIG 大小設為 0

  2. 如要取代 MIG 中的工作負載政策,請向下列其中一種方法發出 PATCH 要求:

    • 如要取代區域 MIG 中的工作負載政策,請向 compute.instanceGroupManagers.patch 方法發出 PATCH 要求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
      
      {
        "workloadPolicy": "projects/PROJECT_ID/regions/REGION/resourcePolicies/WORKLOAD_POLICY"
      }
      
    • 如要取代區域 MIG 中的工作負載政策,請向 compute.regionInstanceGroupManagers.patch 方法發出 PATCH 要求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
      
      {
        "workloadPolicy": "projects/PROJECT_ID/regions/REGION/resourcePolicies/WORKLOAD_POLICY"
      }
      

    更改下列內容:

    • PROJECT_ID:MIG 和工作負載政策所在的專案 ID。

    • ZONE:可用區 MIG 所在的可用區。

    • REGION:區域性 MIG 和工作負載政策所在的區域。

    • MIG_NAME:MIG 名稱。

    • WORKLOAD_POLICY:要套用至 MIG 的工作負載政策名稱。

從 MIG 移除工作負載政策

如要從 MIG 移除工作負載政策,請選取下列其中一個選項:

gcloud

  1. 手動將 MIG 大小設為 0

  2. 如要從代管執行個體群組移除工作負載政策,請使用 gcloud compute instance-groups managed update 指令並搭配 --remove-workload-policy 旗標。請根據 MIG 類型,加入下列其中一個標記:

    • 如要從可用區 MIG 移除工作負載政策,請加入 --zone 旗標:

      gcloud compute instance-groups managed update MIG_NAME \
          --remove-workload-policy=WORKLOAD_POLICY \
          --zone=ZONE
      
    • 如要從區域性 MIG 移除工作負載政策,請加入 --region 旗標:

      gcloud compute instance-groups managed update MIG_NAME \
          --remove-workload-policy=WORKLOAD_POLICY \
          --region=REGION
      

    更改下列內容:

    • MIG_NAME:MIG 名稱。

    • WORKLOAD_POLICY:套用至 MIG 的工作負載政策名稱。

    • ZONE:可用區 MIG 所在的可用區。

    • REGION:區域 MIG 所在的區域。

REST

  1. 手動將 MIG 大小設為 0

  2. 如要從 MIG 移除工作負載政策,請向下列任一方法發出 PATCH 要求:

    • 如要從區域 MIG 移除工作負載政策,請向 compute.instanceGroupManagers.patch 方法發出要求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
      
      {
        "workloadPolicy": ""
      }
      
    • 如要從區域 MIG 移除工作負載政策,請向 compute.regionInstanceGroupManagers.patch 方法發出要求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME
      
      {
        "workloadPolicy": ""
      }
      

    更改下列內容:

    • PROJECT_ID:MIG 和工作負載政策所在的專案 ID。

    • ZONE:可用區 MIG 所在的可用區。

    • REGION:區域性 MIG 和工作負載政策所在的區域。

    • MIG_NAME:MIG 名稱。

刪除工作負載政策

您無法刪除已套用至 MIG 的工作負載政策。如要刪除政策,請先從 MIG 中移除政策

如要刪除工作負載政策,請選取下列任一選項:

gcloud

如要刪除工作負載政策,請使用 gcloud compute resource-policies delete 指令

gcloud compute resource-policies delete WORKLOAD_POLICY \
    --region=REGION

更改下列內容:

  • WORKLOAD_POLICY:現有工作負載政策的名稱。

  • REGION:工作負載政策所在的區域。

REST

如要刪除工作負載政策,請向 resourcePolicies.delete 方法發出 DELETE 要求:

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME

更改下列內容:

  • PROJECT_ID:工作負載政策所在的專案 ID。

  • REGION:工作負載政策所在的區域。

  • POLICY_NAME:現有工作負載政策的名稱。

後續步驟