全部產品
Search
文件中心

Container Service for Kubernetes:如何修改工作流程叢集配置

更新時間:Nov 29, 2024

本文介紹如何修改工作流程叢集的配置。

前提條件

指定叢集虛擬交換器

建立ECI執行個體時,您可以通過指定多個交換器指定多個可用性區域,系統會隨機把請求分散到所有指定的可用性區域,以分散壓力。如果在某一個可用性區域遇到無庫存時,將自動切換到下一個可用性區域繼續嘗試建立。

重要

指定多可用性區域(交換器)時,需要注意以下使用限制:

  • 指定的多個交換器必須處於同一VPC。

  • 最多可以指定10個交換器。

  1. 執行以下命令,查看當前交換器。

     aliyun adcp  DescribeHubClusterDetails --ClusterId <cluster id> | jq .Cluster.WorkflowConfig.WorkflowUnits
  2. 執行以下命令,增加交換器。

    以下代碼參數需保留現有的交換器。

    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卸載大工作流程Status,將工作流程歸檔到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控制台上查看權益配額

如果您的工作流程需要更多計算資源,請前往配額中心提升配額。更多資訊,請參見ECI執行個體限制