KubeVela自定义工作流步骤以及踩坑经验

官方提供的工作流步骤有限,另外,对于自研的PaaS平台,我们需要借助工作流步骤实现一些例如存量项目基础设施导入、项目环境初始化、平台组件共享基础设施需要解决的差异对比审核、基础设施漂移等。

如何定义一个工作流步骤

由于kubevela以Addon提供安装扩展,因此我们需要用Addon作为自定义工作流步骤的载体,通过Addon安装工作流步骤和升级、卸载工作流步骤。
自定义工作流步骤需要使用CUE语言,并且只能使用语言本身支持的操作和kubevela为我们提供的一系列内置操作。
假设我们自定义一个工作流步骤是调用一个接口做某件事情,如果接口返回0,就是需要暂停工作流步骤等待人工完成审核,如果接口返回1,就是审核通过需要恢复工作流步骤,如果返回2,就是审核被驳回,需要终止工作流。
这里我们需要用到官方提供的3个操作:

  1. 发送http请求的HTTPDo操作
  2. 暂停工作流步骤的Suspend操作
  3. 失败终止工作流的Fail操作

另外还需要依赖encoding/json库的序列化和反序列化操作。

apiVersion: core.oam.dev/v1beta1
kind: WorkflowStepDefinition
metadata:
  

你可能感兴趣的:(云原生实战笔记,云原生,kubevela)