使用多項政策

建立具有多項政策的自動配置器,自動配置器就會根據會在群組中提供最多虛擬機器的政策調度資源。這可確保隨時都有足夠的虛擬機器來處理您的應用程式工作負載,並能讓您針對多個潛在瓶頸調度應用程式資源。

事前準備

自動配置器如何處理多項政策

自動配置器處理多項政策的方法如下:為每項政策計算建議的虛擬機器數,然後挑選會讓群組擁有最多虛擬機器的政策。

自動配置器可以為每一指標類型處理一項政策,但 Stackdriver Monitoring 指標例外;您可針對 Stackdriver Monitoring 指標最多選擇五項政策。例如,您可以建立一個自動配置器來使用一項 CPU 使用率政策、一項負載平衡政策,以及最多五項自訂指標政策。

舉例來說,如果您建立了具有以下所有政策定義的自動配置器:

  • cpuUtilization:目標為 0.8。
  • loadBalancingUtilization:目標為 0.6。
  • customMetricUtilization:針對指標 1,目標為 1000。
  • customMetricUtilization:針對指標 2,目標為 2000。

而自動配置器為含有 10 個虛擬機器的代管執行個體群組測量所得到的平均值如下:

  • CPU 使用率 0.5。
  • 負載平衡使用率 0.4。
  • 指標 1:1100。
  • 指標 2:2700。

自動配置器會使用上述平均值,根據每項政策來計算建議的虛擬機器數量變更:

  • 根據 CPU 使用率,為 7 個虛擬機器。
  • 根據負載平衡使用率,為 7 個虛擬機器。
  • 根據指標 1,為 11 個虛擬機器。
  • 根據指標 2,為 14 個虛擬機器。

由於這個自動配置器有超過一個政策,因此自動配置器會選擇最大的建議值,在上述例子中最大建議值為 14 個機器,所以自動配置器便會將代管執行個體群組調整為 14 個虛擬機器。

建立具有多項政策的自動配置器

視您使用的 gcloud 指令列工具或 API 為何,具有多項政策的自動配置器建立程序會略有差異。

主控台


  1. 前往「Instance groups」(執行個體群組) 頁面
  2. 從清單中選取想要的執行個體群組,然後點選 [Edit] (編輯)。
  3. 於執行個體群組詳細資料頁面,在「Autoscaler」(自動配置器) 之下,從下拉式選單中選取 [On] (開啟) 以開啟自動調度資源功能。
  4. 在「Autoscale based on」(自動調度資源依據) 區段,於下拉式選單中選取 [Multiple metrics] (多項指標)。

    選取多項政策的螢幕截圖

  5. 視需要填妥 CPU 利用率和負載平衡利用率的欄位。

  6. 如要新增自訂指標政策,按一下「Target monitoring metrics」(目標監控指標) 區段下的「+」圖示,並為自訂指標政策填妥欄位。

    自訂指標的螢幕擷圖

    只要點選「+」圖示即可新增多項自訂指標政策

gcloud


如要建立具有多項政策的自動配置器,請使用相關的指令列旗標來傳入多個政策規定。下列指令可建立使用 CPU 利用率和兩項自訂指標的自動配置器:

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --target-cpu-utilization 0.8 \
    --custom-metric-utilization metric=custom.cloudmonitoring.googleapis.com/path/to/metric1,utilization-target=1000.0,utilization-target-type=GAUGE \
    --custom-metric-utilization metric=custom.cloudmonitoring.googleapis.com/path/to/metric2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \
    --max-num-replicas 50

您可以利用自訂指標標記的例外設定,為每個指標類型最多傳遞一個標記。

針對自訂指標,只要重複下列標記訧可以提供多項自訂指標:

--custom-metric-utilization metric=METRIC,utilization-target=TARGET,utilization-target-type=TYPE

API


請在 API 中發出 POST 要求,並讓要求主體包含所有所需政策:

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/autoscalers

{
  "autoscalingPolicy" : {
    "cpuUtilization":{
      "utilizationTarget": 0.8
    },
    "customMetricUtilizations":[
      {
        "metric": "custom.cloudmonitoring.googleapis.com/path/to/metric1",
        "utilizationTarget": 1000,
        "utilizationTargetType":"GAUGE"
      },
      {
        "metric": "custom.cloudmonitoring.googleapis.com/path/to/metric2",
        "utilizationTarget": 2000,
        "utilizationTargetType": "DELTA_PER_SECOND"
      }
    ],
    "loadBalancingUtilization":{
      "utilizationTarget": 0.6
    },
    "maxNumReplicas": 50,
    "minNumReplicas": 1
    }
  "target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/example-managed-instance-group",
  "name": "example-autoscaler"
}
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Compute Engine 說明文件