最簡單的自動調度資源方式,是根據執行個體的 CPU 使用率,調度代管執行個體群組 (MIG) 的資源。
您也可以根據負載平衡服務規模、監控指標或排程,自動調度 MIG 資源。
事前準備
- 查看自動調度器限制。
- 瞭解自動調度資源基本概念。
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 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
-
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
根據 CPU 使用率調度資源
您可以依據代管執行個體群組 (MIG) 的平均 CPU 使用率自動調度資源。使用此政策會要求自動配置器收集群組中執行個體的 CPU 使用率,並確定其是否需要調度資源。您也可以設定自動配置器要維持的目標 CPU 使用率,則自動配置器會運作以維持該目標等級。
對自動配置器而言,目標 CPU 使用率等級就等於是執行個體群組內、所有 vCPU 長時間平均使用情況的一部分。如果總 vCPU 的平均使用率超過目標使用率,則自動配置器會新增更多 VM 執行個體。如果總 vCPU 的平均使用率低於目標使用率,則自動配置器會移除執行個體。舉例來說,如果將目標使用率設定在 0.75,自動配置器會將執行個體群組中所有 vCPU 的平均使用率維持在 75%。
您也可以根據預測的 CPU 使用率調度資源。如要瞭解詳情,以及這項功能是否適合您的工作負載,請參閱「根據預測結果調度資源」一文。
啟用根據 CPU 使用率自動調度資源
主控台
前往控制台的「Instance groups」(執行個體群組) 頁面。
如果您有執行個體群組,請按一下執行個體群組的名稱,然後按一下「編輯」。在編輯執行個體群組頁面中,執行下列操作:
- 按一下「群組大小和自動調度資源」展開該部分。
- 按一下「設定自動調度資源」。
如果沒有執行個體群組,請按一下「建立執行個體群組」,然後執行下列操作:
- 在「Name」(名稱) 欄位中,指定群組名稱。
- 在「Instance template」(執行個體範本) 清單中,選取範本。
在「Location」(位置) 部分中,視您要建立區域性或地區性 MIG 而定,選擇下列選項:
- 如果是可用區 MIG,請選取「Single zone」(單一可用區),然後選取區域和可用區。
- 如果是區域 MIG,請選取「多個可用區」,然後選取區域和可用區。
「Autoscaling」(自動調度資源) 區段預設會新增 CPU 使用率自動調度資源信號。您可以選擇使用信號的預設值,或執行下列操作:
- 指定您要讓自動配置器在這個群組中建立的執行個體數量下限與上限。
如要編輯目標 CPU 使用率,請按一下 CPU 使用率信號展開該部分,然後指定百分比。
- 在「Predictive autoscaling」(預測式自動調度資源) 底下,選取「Off」(關閉)。如要進一步瞭解預測式自動調度資源功能,以及這項功能是否適合您的工作負載,請參閱「根據預測結果調度資源」一文。
按一下 [完成]。
您可以使用「Initialization period」(初始化期間) ,讓自動配置器知道應用程式初始化所需的時間。指定正確的初始化期間可提升自動配置器的決策品質。舉例來說,向外擴充時,自動配置器會忽略仍在初始化的 VM 資料,因為這些 VM 可能尚未呈現您應用程式的一般使用情形。預設的初始化週期為 60 秒。
按一下 [儲存]。
gcloud
請使用
set-autoscaling
子指令,啟用代管執行個體群組的自動調度資源功能。舉例來說,下列指令會建立目標 CPU 使用率為 60% 的自動配置器。建立自動配置器時,必須使用--target-cpu-utilization
和--max-num-replicas
參數:gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \ --max-num-replicas 20 \ --target-cpu-utilization 0.60 \ --cool-down-period 90
您可以使用
--cool-down-period
標記設定初始化期間,讓自動配置器知道應用程式初始化所需的時間。指定正確的初始化期間可提升自動配置器的決策品質。舉例來說,向外擴充時,自動配置器會忽略仍在初始化的 VM 資料,因為這些 VM 可能尚未呈現您應用程式的一般使用情形。預設的初始化週期為 60 秒。您也可以選擇啟用預測式自動調度資源功能,在預測負載出現前預先擴充資源。如要瞭解預測式自動調度資源是否適合您的工作負載,請參閱「根據預測結果調度資源」一文。
您可以使用
instance-groups managed describe
子指令來驗證是否成功啟用自動調度資源功能,該指令會說明對應的代管執行個體群組,並提供該執行個體群組自動調度資源功能的相關資訊:gcloud compute instance-groups managed describe example-managed-instance-group
如需可用的
gcloud
指令和旗標清單,請參閱gcloud
參考資料。REST
如要建立自動調整器,請使用區域 MIG 的
autoscalers.insert
方法,或區域 MIG 的regionAutoscalers.insert
方法。以下範例會為可用區 MIG 建立自動調度器:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/
要求主體必須包含
name
、target
和autoscalingPolicy
欄位。而autoscalingPolicy
必須定義cpuUtilization
和maxNumReplicas
。您可以使用
coolDownPeriodSec
欄位設定初始化期間,讓自動配置器知道應用程式初始化所需的時間。指定正確的初始化期間可提升自動配置器的決策品質。舉例來說,向外擴充時,自動配置器會忽略仍在初始化的 VM 資料,因為這些 VM 可能尚未呈現您應用程式的一般使用情形。預設的初始化週期為 60 秒。您也可以選擇啟用預測式自動調度資源功能,在預測負載出現前預先擴充資源。如要瞭解預測式自動調度資源是否適合您的工作負載,請參閱「根據預測結果調度資源」一文。
{ "name": "example-autoscaler", "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group", "autoscalingPolicy": { "maxNumReplicas": 10, "cpuUtilization": { "utilizationTarget": 0.6 }, "coolDownPeriodSec": 90 } }
如要進一步瞭解依據 CPU 使用率來啟用自動調度資源功能的資訊,請完成以下教學課程:對高擴充性的應用程式序使用自動調度資源功能。
自動配置器如何處理繁重的 CPU 使用率
當 CPU 使用率偏高時,如果使用率接近 100%,自動配置器會估計群組可能已嚴重超載。在這種情況下,自動配置器最多可將虛擬機器數量增加 50%。
後續步驟
- 瞭解如何啟用預測式自動調度資源。
- 瞭解如何管理自動調度器。
- 瞭解自動配置器如何做出決策。
- 瞭解如何使用多個自動調度資源信號來調度群組資源。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-09-04 (世界標準時間)。
-