本文介紹如何修改工作流集群的配置。
前提條件
已下載JSON數據處理工具。本文以JSON處理器jq為例,下載步驟,請參見jq Download。
指定集群虛擬交換機
創建ECI實例時,您可以通過指定多個交換機指定多個可用區,系統會隨機把請求分散到所有指定的可用區,以分散壓力。如果在某一個可用區遇到無庫存時,將自動切換到下一個可用區繼續嘗試創建。
指定多可用區(交換機)時,需要注意以下使用限制:
指定的多個交換機必須處于同一VPC。
最多可以指定10個交換機。
執行以下命令,查看當前交換機。
aliyun adcp DescribeHubClusterDetails --ClusterId <cluster id> | jq .Cluster.WorkflowConfig.WorkflowUnits
執行以下命令,增加交換機。
以下代碼參數需保留現有的交換機。
aliyun adcp UpdateHubClusterFeature --VSwitches "[\"vsw-xxx\",\"vsw-xxx\",\"vsw-xxx\"]" --ClusterId <cluster id>
設置集群調度模式
工作流集群支持以下兩種調度模式。
庫存優先調度:
創建集群的默認調度模式,創建按量ECI實例運行工作流保證供給。在此模式下,無需設置價格上限PriceLimit。
成本優先調度:
默認使用搶占式Spot ECI運行工作流,確保低成本運行工作流,同時可選擇多機型和多可用區提高供給率。
使用搶占式Spot ECI運行工作流,可能出現搶占式Spot庫存不足,或者搶占式Spot實例被提前回收,導致工作流運行失敗。
PriceLimit為單CPU核或者4 GiB內存的價格上限,單位為元/小時。如果未設置Pricelimit,則沒有價格限制,使用搶占式Spot系統自動出價。如果設置PriceLimit為0.1元/小時,則對應調度方式如下:
如果ECI的CPU和Memory為2 Core 4 GiB,則系統將會調度2 Core 4 GiB且單價低于0.30元/小時(0.10 x 2 + 0.10)的機型。
如果ECI的CPU和Memory為4 Core 32 GiB,則系統將會調度4 Core 32 GiB且單價低于1.20元/小時(0.10 x 4 + 0.10 x(32 GiB/4 GiB))的機型。
當Spot庫存不足時,如果未設置PriceLimit,系統會創建按量ECI實例繼續運行工作流。
您可以通過以下命令,根據需求設置不同的集群調度模式。
執行以下命令,設置集群調度模式為庫存優先調度。
aliyun adcp UpdateHubClusterFeature --WorkflowScheduleMode "stock-optimized" --ClusterId <cluster id>
執行以下命令,設置集群調度模式為成本優先調度并設置價格上限PriceLimit。
aliyun adcp UpdateHubClusterFeature --WorkflowScheduleMode "cost-optimized" --PriceLimit "0.10" --ClusterId <cluster id>
執行以下命令,設置集群調度模式為成本優先調度,不設置價格上限PriceLimit。
aliyun adcp UpdateHubClusterFeature --WorkflowScheduleMode "cost-optimized" --PriceLimit "" --ClusterId <cluster id>
相關參數說明如下表所示。
參數
說明
WorkflowScheduleMode
必選,集群調度模式。取值:
stock-optimized
:庫存優先調度。cost-optimized
:成本優先調度。
PriceLimit
可選,調度單核價格的上限,單位為元/小時。僅當選擇成本調度為
cost-optimized
時有效,例如"0.10"
。
配置workflow-controller-configmap
使用開源Argo Workflow時,您可以通過配置workflow-controller-configmap定制Argo Workflow。例如,使用PostgreSQL或MySQL從etcd卸載大工作,將工作流歸檔到PostgreSQL或MySQL,修改Pod GC的配置。
workflow-controller-configmap文件位于以集群ID命名的命名空間中。
請勿刪除以下
podMetadata
。
podMetadata:
labels:
workflow.xflow.aliyun: xflow
annotations:
k8s.aliyun.com/eci-auto-imc: "true"
k8s.aliyun.com/eci-fail-strategy: "fail-fast"
配置ECI限額
賬號默認ECI使用的資源限額為1000 vCPU。您可以在ECI控制臺上查看權益配額。