自定义工作流

    KubeVela 的工作流机制允许你自定义应用部署计划中的步骤,粘合额外的交付流程,指定任意的交付环境。简而言之,工作流提供了定制化的控制逻辑,在原有 Kubernetes 模式交付资源(Apply)的基础上,提供了面向过程的灵活性。比如说,使用工作流实现暂停、人工验证、状态等待、数据流传递、多环境灰度、A/B 测试等复杂操作。

    工作流是 KubeVela 实践过程中基于 OAM 模型的进一步探索和最佳实践,充分遵守 OAM 的模块化理念和可复用特性。每一个工作流模块都是一个“超级粘合剂”,可以将你任意的工具和流程都组合起来。使得你在现代复杂云原生应用交付环境中,可以通过一份申明式的配置,完整的描述所有的交付流程,保证交付过程的稳定性和便利性。

    使用工作流

    工作流由步骤组成,你既可以使用 KubeVela 提供的 [内置工作流步骤] 来便利地完成操作,也可以自己来编写 来达到想要的效果。

    KubeVela 提供了一些 CUE 操作类型用于编写工作流步骤。这些操作均由 包提供。为了实现上述场景,我们需要使用以下 3 个 CUE 操作:

    在此基础上,我们需要两个 WorkflowStepDefinition

    1. 部署 Tomcat,并且等待 Deployment 的状态变为 running,这一步需要自定义工作流步骤来实现。
    2. 发送 Slack 通知,这一步可以使用 KubeVela 内置的 [webhook-notification] 步骤来实现。

    部署 Tomcat 步骤

    得到如下结果:

    引用 vela/op 包,并将 Cue 代码补充到 中:

    部署到集群中:

    发送 Slack 通知步骤

    编写应用

    将该应用部署到集群中,可以看到所有的资源都已被成功部署,且 Slack 中收到了对应的通知,通知内容为该 Deployment 的状态信息。