Argo Workflows
Argo Workflows 是一个广泛应用的开源工作流编排引擎,具有直观的可视化界面,便于用户创建和运行工作流,并查看状态和日志,而无需手动编辑 YAML 配置文件。其界面展示了所有与工作流相关的信息,并引导用户填写所需的字段,从而大大简化了操作流程。
使用方法
待 App 就绪后,点击右侧的 进入控制台。

Argo Workflows 的使用方法请参阅官方文档和官方示例。
控制台的基本使用方法,包括如何创建 Workflow、如何创建 Workflow Template,可以参阅下面的教程。
创建完整的 Workflow
点击 SUBMIT NEW WORKFLOW 来创建一个 Workflow:

在 Argo Worklfows 中,你可以直接在 Workflow 中填写全部运行所需信息,或者先创建一个 WorkflowTemplate 作为模板、然后创建一个 Workflow 引用该模板并填写必要的参数。
首先,点击 Edit using full workflow options,直接在 Workflow 中填写全部运行所需信息:

将下面的 Workflow YAML 示例复制到编辑框中,并点击 CREATE 创建:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: hello-world-
labels:
workflows.argoproj.io/archive-strategy: "false"
annotations:
workflows.argoproj.io/description: |
This is a simple hello world example.
spec:
entrypoint: hello-world
templates:
- name: hello-world
container:
image: busybox
command: [echo]
args: ["hello world"]

上述 Workflow 示例会打印一行 hello world
。
创建成功后自动跳转至 Workflow 详情页面,你可以在此查看 Workflow 的运行状态、日志等信息:

创建 WorkflowTemplate 和 Workflow
接下来演示如何先创建一个 Workflowtemplate,然后再创建一个 Workflow 引用它。
点击左侧导航栏中的第二个图标进入 WorkflowTemplate 列表页面,然后点击 CREATE NEW WORKFLOWTEMPLATE 创建一个 WorkflowTemplate:

将下面的 WorkflowTemplate YAML 复制到编辑框中,并点击 CREATE 创建:
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
name: workflow-template-print-message
spec:
entrypoint: print-message
templates:
- name: print-message
inputs:
parameters:
- name: message
container:
image: busybox
command: [echo]
args: ["{{inputs.parameters.message}}"]

上述 WorkflowTemplate 示例要求传入一个名为 message
的参数,并将参数的值打印出来。
然后,以上一节相同的方式创建下面的 Workflow:
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: workflow-template-hello-world-
spec:
entrypoint: hello-world-from-templateRef
templates:
- name: hello-world-from-templateRef
steps:
- - name: call-print-message
templateRef:
name: workflow-template-print-message
template: print-message
arguments:
parameters:
- name: message
value: "hello world"
上述 Workflow 示例引用了之前的 WorkflowTemplate,并设置了参数 message
的值为 hello world
。因此,该 Workflow 的运行结果与上一节相同。