Argo Workflows是一个Kubernetes原生的工作流引擎,支持通过YAML或Python SDK编排并行任务,简化容器化应用的自动化和管理工作。Argo Workflows适用于需要处理多步骤、并行任务和依赖关系的场景,例如数据处理、机器学习Pipeline、仿真计算、CI/CD流水线等。本文通过示例应用带您体验如何使用Argo CLI创建一个工作流。
前提条件
已参见启用批量任务编排能力完成组件的安装和阿里云Argo CLI的安装。
操作步骤
参见以下内容,创建helloworld-workflow.yaml,提交示例工作流任务。
apiVersion: argoproj.io/v1alpha1 kind: Workflow # new type of k8s spec. metadata: generateName: hello-world- # name of the workflow spec. spec: entrypoint: main # invoke the main template. templates: - name: main # name of the template. container: image: mirrors-ssl.aliyuncs.com/busybox:latest command: [ echo ] args: [ "hello world" ]
执行以下命令,提交工作流。
argo submit helloworld-workflow.yaml -n argo
查看工作流状态。
执行以下命令,获取工作流列表。
argo list -n argo
预期输出:
NAME STATUS AGE DURATION PRIORITY hello-world-lgdpp Succeeded 2m 37s 0
预期输出表明,工作流已经完成。
执行以下命令,查看工作流状态。
argo get hello-world-lgdpp -n argo
预期输出:
Name: hello-world-lgdpp Namespace: argo ServiceAccount: unset (will run with the default ServiceAccount) Status: Succeeded Conditions: PodRunning False Completed True .... Duration: 37 seconds Progress: 1/1 ResourcesDuration: 17s*(1 cpu),17s*(100Mi memory) STEP TEMPLATE PODNAME DURATION MESSAGE ✔ hello-world-lgdpp whalesay hello-world-lgdpp 27s
预期输出同样表明,工作流已经完成。
相关文档
工作流的相关资源会被定期清理,如需将工作流持久化存储到数据库中,请参见持久化工作流。