第 2 章 构建和部署无服务器工作流
要部署工作流并使其在 Orchestrator 插件中可用,请按照以下步骤操作:
- 构建工作流镜像
- 生成工作流清单
- 在集群中添加工作流
此过程将工作流从本地机器移到集群中的部署。
2.1. 工作流镜像的好处 复制链接链接已复制到粘贴板!
虽然 OpenShift Serverless Logic Operator 支持动态构建工作流,但这种方法主要用于试验。对于生产环境部署,构建镜像是如下原因的首选方法:
- 生产环境就绪:在上线前,可以扫描、保护和测试预构建的镜像。
-
GitOps 兼容性: Orchestrator 依赖于 OpenShift Serverless Logic Operator 实例来跟踪工作流及其状态。要使用此跟踪服务,您必须使用
gitops
配置集部署工作流,这需要一个预构建的镜像。 - 测试和质量:构建镜像可让您更好地控制测试过程。
2.1.1. 项目结构概述 复制链接链接已复制到粘贴板!
项目使用 Quarkus 项目布局 (Maven 项目结构)。以下 01_basic
工作流示例说明了此结构:
主工作流资源位于 src/main/resources/
目录下。
kn-workflow CLI
生成此项目结构。您可以按照 Getting Started 指南 尝试生成自己的结构。如需有关 Quarkus 项目的更多信息,请参阅创建第一个应用程序。
2.1.2. 在本地创建并运行无服务器工作流项目 复制链接链接已复制到粘贴板!
kn-workflow
CLI 是生成工作流清单和项目结构的基本工具。为确保成功的开发和立即测试,请完成以下步骤,在本地开发新的无服务器工作流:
流程
使用
kn-workflow
CLI 创建新的工作流项目,它遵循 Quarkus 结构,如下例所示:kn-workflow quarkus create --name <specify project name, for example ,00_new_project>
kn-workflow quarkus create --name <specify project name, for example ,00_new_project>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑工作流,添加 schema 和特定文件,并从项目文件夹在本地运行,如下例所示:
kn-workflow quarkus run
kn-workflow quarkus run
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
kn-workflow 运行在本地运行工作流,该运行
会拉取以下镜像:registry.redhat.io/openshift-serverless-1/logic-swf-devmode-rhel8:1.36.0
registry.redhat.io/openshift-serverless-1/logic-swf-devmode-rhel8:1.36.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要构建工作流镜像,
kn-workflow
CLI 会拉取以下镜像:registry.redhat.io/openshift-serverless-1/logic-swf-builder-rhel8:1.36.0-8 registry.access.redhat.com/ubi9/openjdk-17:1.21-2
registry.redhat.io/openshift-serverless-1/logic-swf-builder-rhel8:1.36.0-8 registry.access.redhat.com/ubi9/openjdk-17:1.21-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow