工作流集群基于开源Argo Workflow项目构建,适用于CI/CD流水线、数据处理、机器学习和仿真计算等。本文通过示例介绍如何创建Argo工作流。
适用范围
工作流ServiceAccount
工作流可指定ServiceAccount用于运行中访问其他Kubernetes资源,您可以创建自己的ServiceAccount,工作流集群会为ServiceAccount自动绑定权限,
操作步骤
工作流集群支持通过Argo CLI或Argo UI创建工作流。
通过Argo CLI创建
步骤一:安装Argo CLI
阿里云Argo CLI完全兼容开源Argo CLI,并增强了Metrics能力和日志能力。阿里云Argo CLI支持查看工作流的CPU、内存资源消耗及运行成本,并获取已删除Pod的日志。
下载阿里云Argo CLI。
以下步骤以Linux系统为例,Darwin(macOS)版Argo CLI的下载链接是https://ack-one.oss-cn-hangzhou.aliyuncs.com/cli/v3.4.12/argo-cli-aliyun-darwin 。
wget https://ack-one.oss-cn-hangzhou.aliyuncs.com/cli/v3.4.12/argo-cli-aliyun-linux为argo-cli-aliyun-linux授予可执行权限。
chmod +x argo-cli-aliyun-linux将执行文件移动到环境变量包含的目录下,例如:
/usr/local/bin/。mv argo-cli-aliyun-linux /usr/local/bin/argo
步骤二:创建工作流
创建并复制下方示例到helloworld-workflow.yaml文件。
apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: helloworld-- # 工作流名称前缀 spec: entrypoint: helloworld # 指定入口工作流模板 templates: - name: helloworld container: image: mirrors-ssl.aliyuncs.com/busybox:latest command: - sh - -c args: - echo "Hello, world!"; sleep 60;提交工作流。
argo submit helloworld-workflow.yaml查看工作流状态。
获取工作流列表。
argo list预期输出:
NAME STATUS AGE DURATION PRIORITY helloworld-lgdpp Succeeded 2m 37s 0查看工作流状态。
argo get helloworld-lgdpp预期输出:
Name: hello-world-lgdpp Namespace: default ServiceAccount: unset (will run with the default ServiceAccount) Status: Succeeded Conditions: PodRunning False Completed True .... Duration: 1 minute 46 seconds Progress: 1/1 ResourcesDuration: 17s*(1 cpu),17s*(100Mi memory) STEP TEMPLATE PODNAME DURATION MESSAGE ✔ hello-world-lgdpp helloworld hello-world-lgdpp 1m
通过Argo UI创建
登录容器Argo工作流集群控制台,单击目标集群名称。
在集群信息页面中,选择基础信息页签,单击下方工作流控制台(Argo)卡片,访问Argo UI。
单击左侧workflow template选项,在NAMESPACE中输入default,查看预制的工作流模板。

选择任意工作流模板,单击SUBMIT,运行工作流。

该文章对您有帮助吗?