全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:使用Argo CLI创建工作流

更新时间:Dec 13, 2024

Argo Workflows是一个Kubernetes原生的工作流引擎,支持通过YAML或Python SDK编排并行任务,简化容器化应用的自动化和管理工作。Argo Workflows适用于需要处理多步骤、并行任务和依赖关系的场景,例如数据处理、机器学习Pipeline、仿真计算、CI/CD流水线等。本文通过示例应用带您体验如何使用Argo CLI创建一个工作流。

前提条件

已参见启用批量任务编排能力完成组件的安装和阿里云Argo CLI的安装。

操作步骤

  1. 参见以下内容,创建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" ]
  2. 执行以下命令,提交工作流。

    argo submit helloworld-workflow.yaml -n argo
  3. 查看工作流状态。

    1. 执行以下命令,获取工作流列表。

      argo list -n argo

      预期输出:

      NAME                STATUS      AGE   DURATION   PRIORITY
      hello-world-lgdpp   Succeeded   2m    37s        0

      预期输出表明,工作流已经完成。

    2. 执行以下命令,查看工作流状态。

      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

      预期输出同样表明,工作流已经完成。

相关文档

工作流的相关资源会被定期清理,如需将工作流持久化存储到数据库中,请参见持久化工作流