创建Argo工作流

更新时间:
复制为 MD 格式

工作流集群基于开源Argo Workflow项目构建,适用于CI/CD流水线、数据处理、机器学习和仿真计算等。本文通过示例介绍如何创建Argo工作流。

适用范围

创建Argo工作流集群

工作流ServiceAccount

工作流可指定ServiceAccount用于运行中访问其他Kubernetes资源,您可以创建自己的ServiceAccount,工作流集群会为ServiceAccount自动绑定权限,

操作步骤

工作流集群支持通过Argo CLIArgo UI创建工作流。

通过Argo CLI创建

步骤一:安装Argo CLI

阿里云Argo CLI完全兼容开源Argo CLI,并增强了Metrics能力和日志能力。阿里云Argo CLI支持查看工作流的CPU、内存资源消耗及运行成本,并获取已删除Pod的日志。

  1. 下载阿里云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
  2. argo-cli-aliyun-linux授予可执行权限。

    chmod +x argo-cli-aliyun-linux
  3. 将执行文件移动到环境变量包含的目录下,例如:/usr/local/bin/

    mv argo-cli-aliyun-linux /usr/local/bin/argo

步骤二:创建工作流

  1. 创建并复制下方示例到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;
  2. 提交工作流。

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

    1. 获取工作流列表。

      argo list

      预期输出:

      NAME               STATUS      AGE   DURATION   PRIORITY
      helloworld-lgdpp   Succeeded   2m    37s        0
    2. 查看工作流状态。

      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创建

  1. 登录容器Argo工作流集群控制台,单击目标集群名称。

  2. 集群信息页面中,选择基础信息页签,单击下方工作流控制台(Argo)卡片,访问Argo UI。

  3. 单击左侧workflow template选项,在NAMESPACE中输入default,查看预制的工作流模板。

    image

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

    image