全部產品
Search
文件中心

Container Service for Kubernetes:建立工作流程叢集

更新時間:Jun 19, 2024

工作流程叢集採用無伺服器模式,使用阿里雲Elastic Container Instance運行工作流程,通過最佳化Kubernetes叢集參數,實現大規模工作流程的高效彈性調度,同時配合搶佔式ECI執行個體,最佳化成本。本文介紹如何建立工作流程叢集

前提條件

建立工作流程叢集

通過控制台建立叢集

  1. 登入ACK One工作流程叢集控制台

  2. 工作流程叢集頁面右上方單擊建立工作流程叢集,在彈出的面板中填寫相關參數,然後單擊建立

    參數

    描述

    叢集名稱

    填寫叢集的名稱。

    說明

    長度為1~63個字元,可包含字母、數字、底線(_)或中劃線(-),且僅允許以字母開頭。

    地區

    選擇叢集所在的地區。

    專用網路

    設定叢集的Virtual Private Cloud,在下拉式清單中選擇已建立的VPC。

    虛擬交換器

    在下拉式清單中選擇已建立的交換器。

    APIServer負載平衡(SLB)

    無需設定,建立工作流程叢集時會預設為API Server 建立一個規格為標準型I(slb.s2.small)的SLB執行個體,若刪除該執行個體會導致API Server 無法訪問。

    SLB執行個體計費資訊,請參見SLB計費說明

    建立並綁定EIP

    選擇是否為叢集綁定EIP。

    • 開啟後,系統將為內網SLB執行個體建立並綁定一個EIP(Elastic IP Address),獲得從公網訪問叢集API Server的能力。EIP綁定後不支援解除綁定,因為可能有子叢集已經使用艦隊的公網訪問連結。

    • 若選擇不開啟,則無法通過外網訪問叢集API Server。

    EIP計費資訊,請參見Elastic IP Address計費說明

    開啟組件及審計日誌

    選擇是否開啟Log Service功能。

    開啟後,系統將自動建立一個名稱為k8s-log-{ClusterID}的Log Service,並收集託管側控制平面組件(包括kube-apiserver、kube-controller-manager等)的日誌到Log Service中。以便您後續對工作流程叢集的日誌進行審計。

    Log Service計費資訊,請參見Log Service計費說明

通過阿里雲CLI建立叢集

  1. 執行以下命令,建立工作流程叢集

    aliyun configure set --region cn-zhangjiakou
    aliyun adcp CreateHubCluster --Profile XFlow --RegionId cn-zhangjiakou --VpcId vpc-xxx --VSwitches "[\"vsw-xxx\",\"vsw-xxx\"]" --Name workflow1 --ApiServerPublicEip true --IsEnterpriseSecurityGroup true

    參數

    說明

    Profile

    必選,輸入XFlow

    RegionId

    必選,工作流程叢集所在地區。本樣本選擇cn-zhangjiakou

    VpcId

    必選,工作流程叢集所在Virtual Private Cloud ID。

    VSwitches

    必選,工作流程運行ECI所在的交換器vSwtich ID,格式為數組。請輸入多可用性區域的交換器ID。

    Name

    可選,工作流程叢集名稱。

    IsEnterpriseSecurityGroup

    必選,使用企業安全性群組,輸入true

    ApiServerPublicEip

    可選,是否使用公網EIP暴露工作流程引擎執行個體APIServer地址。

    預期輸出如下,並記錄ClusterId

    {
        "ClusterId": "xxx",
        "RequestId": "xxx",
        "TaskId": "xxx"
    }
  2. 執行以下命令,查看工作流程叢集的狀態。

    替換以下XXX為您上一步擷取的ClusterId

    aliyun adcp DescribeHubClusterDetails --ClusterId XXX | jq .Cluster.ClusterInfo

    等待直到預期輸出的Staterunning狀態。

  3. 執行以下命令,安裝jq。

    • macOS

      brew install jq
    • CentOS

      yum install jq 
    • Ubuntu

      apt-get install jq
  4. 執行以下命令,自動解析文本並產生KubeConfig。

    aliyun adcp DescribeHubClusterKubeconfig --ClusterId <cluster id> | jq -r .Kubeconfig | tee ack-argo-workflow-kubeconfig
    # 設定KUBECONFIG環境變數準備運行kubectl和Argo CLI。
    export KUBECONFIG=ack-argo-workflow-kubeconfig

刪除工作流程叢集

重要

刪除工作流程叢集前,請先刪除叢集上的工作流程,以觸發刪除Pod以及Pod相關的ECI資源。

通過控制台刪除叢集

  1. 登入ACK One工作流程叢集控制台

  2. 在頁面左上方單擊叢集名稱後的下拉式清單,選擇需要刪除的叢集。

  3. 工作流程叢集頁面右上方單擊刪除工作流程叢集,然後在彈出的提示框中單擊確定

通過阿里雲CLI刪除叢集

  1. 使用以下命令關閉Argo Server同時刪除相關SLB和ECI等資源。

    aliyun adcp UpdateHubClusterFeature --ArgoServerEnabled false --ClusterId <cluster id>
  2. 使用以下命令刪除工作流程叢集

     aliyun adcp DeleteHubCluster --ClusterId <cluster id>

相關文檔