简介

ApplicationWorkflowRun 是两个核心概念,它们分别代表了应用程序的定义和应用程序部署的执行过程。

在 KubeVela 中,ApplicationWorkflowRun 是两个核心概念,它们分别代表了应用程序的定义和应用程序部署的执行过程。理解它们的区别对于有效使用 KubeVela 至关重要。

Application(应用程序)

WorkflowRun(工作流运行)

在Application的文件定义中存在Workflow 的定义,同时也区分一下WorkflowWorkflowRun的区别。

Workflow 与 WorkflowRun 的区别

特性 Workflow WorkflowRun
目的 定义工作流程模板 执行工作流程实例
类型 模板定义 执行实例
生命周期 可复用,多次执行 一次性,执行后结束
关注点 工作流程的定义和步骤序列 工作流程的实际执行状态和结果
组成 步骤(Steps),WorkflowStepDefinition 步骤的执行状态,日志,结果等

以下重点从应用层讲述ApplicationWorkflowRun 二者的区别。

Application

Application的配置文件如下:

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  name: website
spec:
  components:
    - name: frontend
      type: webservice
      properties:
        image: oamdev/testapp:v1
        cmd: ["node", "server.js"]
        ports:
          - port: 8080
            expose: true
        cpu: "0.1"
        env:
          - name: FOO
            value: bar
          - name: FOO
            valueFrom:
              secretKeyRef:
                name: bar
                key: bar

在这里并没有定义策略和工作流,Application可以不定义这些内容。Application默认就有一个部署应用的工作流(Workflow)。

WorkflowRun