工作流集群采用無服務器模式,使用阿里云彈性容器實例ECI運行工作流,通過優(yōu)化Kubernetes集群參數(shù),實現(xiàn)大規(guī)模工作流的高效彈性調度,同時配合搶占式ECI實例,優(yōu)化成本。本文介紹如何創(chuàng)建工作流集群。
前提條件
已授予RAM用戶AliyunAdcpFullAccess權限。具體操作,請參見為RAM用戶授權。
創(chuàng)建工作流集群
通過控制臺創(chuàng)建集群
在工作流集群頁面右上角單擊創(chuàng)建工作流集群,在彈出的面板中填寫相關參數(shù),然后單擊創(chuàng)建。
參數(shù)
描述
集群名稱
填寫集群的名稱。
說明長度為1~63個字符,可包含字母、數(shù)字、下劃線(_)或中劃線(-),且僅允許以字母開頭。
地域
選擇集群所在的地域。
專有網絡
設置集群的專有網絡VPC,在下拉列表中選擇已創(chuàng)建的VPC。
虛擬交換機
在下拉列表中選擇已創(chuàng)建的交換機。
APIServer負載均衡(SLB)
無需設置,創(chuàng)建工作流集群時會默認為API Server 創(chuàng)建一個規(guī)格為標準型I(slb.s2.small)的SLB實例,若刪除該實例會導致API Server 無法訪問。
如SLB實例規(guī)格不滿足要求,您可以前往SLB控制臺修改,具體操作,請參見SLB實例升配。
SLB實例計費信息,請參見SLB計費說明。
創(chuàng)建并綁定EIP
選擇是否為集群綁定EIP。
開啟后,系統(tǒng)將為內網SLB實例創(chuàng)建并綁定一個EIP(彈性公網IP),獲得從公網訪問集群API Server的能力。EIP綁定后不支持解綁,因為可能有子集群已經使用艦隊的公網訪問鏈接。
若選擇不開啟,則無法通過外網訪問集群API Server。
EIP計費信息,請參見彈性公網IP計費說明。
開啟組件及審計日志
選擇是否開啟日志服務功能。
開啟后,系統(tǒng)將自動創(chuàng)建一個名稱為k8s-log-{ClusterID}的日志服務,并收集托管側控制平面組件(包括kube-apiserver、kube-controller-manager等)的日志到日志服務中。以便您后續(xù)對工作流集群的日志進行審計。
日志服務計費信息,請參見日志服務計費說明。
通過阿里云CLI創(chuàng)建集群
執(zhí)行以下命令,創(chuàng)建工作流集群。
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
參數(shù)
說明
Profile
必選,輸入
XFlow
。RegionId
必選,工作流集群所在地域。本示例選擇
cn-zhangjiakou
。VpcId
必選,工作流集群所在專有網絡VPC ID。
VSwitches
必選,工作流運行ECI所在的交換機vSwtich ID,格式為數(shù)組。請輸入多可用區(qū)的交換機ID。
Name
可選,工作流集群名稱。
IsEnterpriseSecurityGroup
必選,使用企業(yè)安全組,輸入
true
。ApiServerPublicEip
可選,是否使用公網EIP暴露工作流引擎實例APIServer地址。
預期輸出如下,并記錄
ClusterId
。{ "ClusterId": "xxx", "RequestId": "xxx", "TaskId": "xxx" }
執(zhí)行以下命令,查看工作流集群的狀態(tài)。
替換以下
XXX
為您上一步獲取的ClusterId
。aliyun adcp DescribeHubClusterDetails --ClusterId XXX | jq .Cluster.ClusterInfo
等待直到預期輸出的
State
為running
狀態(tài)。執(zhí)行以下命令,安裝jq。
macOS:
brew install jq
CentOS:
yum install jq
Ubuntu:
apt-get install jq
執(zhí)行以下命令,自動解析文本并生成KubeConfig。
aliyun adcp DescribeHubClusterKubeconfig --ClusterId <cluster id> | jq -r .Kubeconfig | tee ack-argo-workflow-kubeconfig # 設置KUBECONFIG環(huán)境變量準備運行kubectl和Argo CLI。 export KUBECONFIG=ack-argo-workflow-kubeconfig
刪除工作流集群
刪除工作流集群前,請先刪除集群上的工作流,以觸發(fā)刪除Pod以及Pod相關的ECI資源。
通過控制臺刪除集群
在頁面左上角單擊集群名稱后的下拉列表,選擇需要刪除的集群。
在工作流集群頁面右上角單擊刪除工作流集群,然后在彈出的提示框中單擊確定。
通過阿里云CLI刪除集群
使用以下命令關閉Argo Server同時刪除相關SLB和ECI等資源。
aliyun adcp UpdateHubClusterFeature --ArgoServerEnabled false --ClusterId <cluster id>
使用以下命令刪除工作流集群。
aliyun adcp DeleteHubCluster --ClusterId <cluster id>
相關文檔
如需修改工作流集群的配置,請參見修改工作流集群配置。
工作流集群創(chuàng)建完成后,您可以創(chuàng)建工作流。