工作流程叢集採用無伺服器模式,使用阿里雲Elastic Container Instance運行工作流程,通過最佳化Kubernetes叢集參數,實現大規模工作流程的高效彈性調度,同時配合搶佔式ECI執行個體,最佳化成本。本文介紹如何建立工作流程叢集。
前提條件
已授予RAM使用者AliyunAdcpFullAccess許可權。具體操作,請參見為RAM使用者授權。
建立工作流程叢集
通過控制台建立叢集
在工作流程叢集頁面右上方單擊建立工作流程叢集,在彈出的面板中填寫相關參數,然後單擊建立。
參數
描述
叢集名稱
填寫叢集的名稱。
說明長度為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建立叢集
執行以下命令,建立工作流程叢集。
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" }
執行以下命令,查看工作流程叢集的狀態。
替換以下
XXX
為您上一步擷取的ClusterId
。aliyun adcp DescribeHubClusterDetails --ClusterId XXX | jq .Cluster.ClusterInfo
等待直到預期輸出的
State
為running
狀態。執行以下命令,安裝jq。
macOS:
brew install jq
CentOS:
yum install jq
Ubuntu:
apt-get install jq
執行以下命令,自動解析文本並產生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資源。
通過控制台刪除叢集
在頁面左上方單擊叢集名稱後的下拉式清單,選擇需要刪除的叢集。
在工作流程叢集頁面右上方單擊刪除工作流程叢集,然後在彈出的提示框中單擊確定。
通過阿里雲CLI刪除叢集
使用以下命令關閉Argo Server同時刪除相關SLB和ECI等資源。
aliyun adcp UpdateHubClusterFeature --ArgoServerEnabled false --ClusterId <cluster id>
使用以下命令刪除工作流程叢集。
aliyun adcp DeleteHubCluster --ClusterId <cluster id>
相關文檔
如需修改工作流程叢集的配置,請參見修改工作流程叢集配置。
工作流程叢集建立完成後,您可以建立工作流程。