工作流是基于argo开发,可以为Kubernetes提供容器化的本地工作流程。工作流程中的每个步骤都定义为容器。本文主要介绍通过控制台或命令行的方式创建工作流。
前提条件
说明 若您的集群未开通工作流功能,请
提交工单申请。
背景信息
工作流基于argo开发,可以为Kubernetes提供容器化的本地工作流程。工作流程中的每个步骤都定义为容器。
工作流是作为Kubernetes CRD(自定义资源定义)实现的。 因此可以使用kubectl管理工作流,并与其他Kubernetes服务本地集成,例如Volumes、Secrets和RBAC。
工作流控制器提供完整的工作流程功能,包括参数替换、存储、循环和递归工作流程。
您可以通过控制台或命令行的方式创建工作流。
通过控制台创建Hello World工作流
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在工作流(Workflow)页面,单击页面右上角的创建。
- 在使用模板创建对话框,对模板进行相关配置,完成配置后单击创建。
- 集群:选择目标集群。工作流将部署在该集群内。
- 命名空间:选择工作流所属的命名空间,默认是
default
。
- 示例模板:阿里云容器服务提供了多种资源类型的Kubernetes YAML示例模板,让您快速部署工作流。您可以根据Kubernetes YAML编排的格式要求自主编写,来描述您想定义的工作流。
下面是一个Hello World工作流的示例编排,基于容器服务自定义的编排模板。
apiVersion: argoproj.io/v1alpha1
kind: Workflow #Kubernetes的类型。
metadata:
generateName: hello-world- #工作流的名称。
spec:
entrypoint: whalesay #调用whalesay镜像模板。
templates:
- name: whalesay #模板名称
container:
image: docker/whalesay
command: [cowsay]
args: ["hello world"]
resources: #资源限制。
limits:
memory: 32Mi
cpu: 100m
- 创建完成后,返回工作流页面,您可以看到已经创建成功的工作流。

您可以单击详情,了解该工作流基本信息和容器组信息。
通过命令行创建Parameters工作流
- 创建并拷贝内容到arguments-parameters.yaml文件中。
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: hello-world-parameters-
spec:
#用"hello world"作为参数值调用whalesay镜像模板。
entrypoint: whalesay
arguments:
parameters:
- name: message
value: hello world
templates:
- name: whalesay
inputs:
parameters:
- name: message #参数描述。
container:
#用输入参数Args运行Cowsay。
image: docker/whalesay
command: [cowsay]
args: ["{{inputs.parameters.message}}"]
- 执行命令,创建Parameters工作流。
ags submit arguments-parameters.yaml -p message="goodbye world"
您也可以参见Workflow示例模板,通过更新YAML文件的方式创建其他工作流。
Ags CLI是兼容阿里云定制的兼容社区版argo的命令行工具,使用Ags CLI可以方便的提交、查看、修改、删除工作流。关于更多内容请参见AGS命令行帮助。