第 10 章 带有 RHPAM Kogito Operator 的 OpenShift 部署选项
在创建了红帽构建的 Kogito 微服务作为业务应用程序的一部分后,您可以使用 Red Hat OpenShift Container Platform Web 控制台来部署微服务。OpenShift Web 控制台中的 RHPAM Kogito Operator 页面指导您完成部署过程。
RHPAM Kogito Operator 支持以下选项在 Red Hat OpenShift Container Platform 上构建和部署 Kogito 微服务:
- Git 源构建和部署
- 二进制构建和部署
- 自定义镜像构建和部署
- 文件构建和部署
RHPAM Kogito Operator 使用以下自定义资源来部署域特定的微服务(您开发的微服务):
-
KogitoBuild使用 Git URL 或其他源构建应用程序,并生成运行时镜像。 -
KogitoRuntime启动运行时镜像,并根据您的要求进行配置。
在大多数情况下,您可以使用标准运行时构建和部署方法从 Git 存储库源在 OpenShift 上部署 Kogito 微服务的红帽构建,如以下步骤所示。
如果您要在本地开发或测试 Kogito 微服务的红帽构建,您可以使用二进制构建、自定义镜像构建或文件构建选项从本地源而不是从 Git 存储库构建和部署。
先决条件
- 安装了 RHPAM Kogito Operator。
- 您红帽构建的 Kogito 微服务的应用位于可从 OpenShift 环境访问的 Git 存储库中。
-
您可以使用必要的权限访问 OpenShift Web 控制台,以创建和编辑
KogitoBuild和KogitoRuntime。 (仅限红帽构建的 Quarkus)项目的
pom.xml文件,包含以下对quarkus-smallrye-health扩展名的依赖项。此扩展支持 OpenShift 上红帽构建 Quarkus 项目所需的 存活度和就绪度探测。Red Hat build of Quarkus applications on OpenShift
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-health</artifactId> </dependency>
流程
-
进入 Operators
Installed Operators,再选择 RHPAM Kogito Operator。 - 要创建 Kogito 构建定义的红帽构建,请在 operator 页面中选择 Kogito Build 选项卡,然后点 Create KogitoBuild。
在应用程序窗口中,使用 Form View 或 YAML View 来配置构建定义。
至少,定义以下示例 YAML 文件中的应用程序配置:
使用红帽构建 Kogito 构建的红帽构建的 Quarkus 应用程序的 YAML 定义
apiVersion: rhpam.kiegroup.org/v1 # Red Hat build of Kogito API for this service kind: KogitoBuild # Application type metadata: name: example-quarkus # Application name spec: type: RemoteSource gitSource: uri: 'https://github.com/kiegroup/kogito-examples' # Git repository containing application (uses default branch) contextDir: dmn-quarkus-example # Git folder location of application使用 Red Hat build of Kogito build 的 Spring Boot 应用程序的 YAML 定义示例
apiVersion: rhpam.kiegroup.org/v1 # Red Hat build of Kogito API for this service kind: KogitoBuild # Application type metadata: name: example-springboot # Application name spec: runtime: springboot type: RemoteSource gitSource: uri: 'https://github.com/kiegroup/kogito-examples' # Git repository containing application (uses default branch) contextDir: dmn-springboot-example # Git folder location of application注意如果您配置了内部 Maven 存储库,您可以将其用作 Maven 镜像服务,并在红帽构建的 Kogito build 定义中指定 Maven 镜像 URL,以大大缩短构建时间:
spec: mavenMirrorURL: http://nexus3-nexus.apps-crc.testing/repository/maven-public/有关内部 Maven 存储库的更多信息,请参阅 Apache Maven 文档。
定义应用程序数据后,点 Create 来生成 Kogito 构建的红帽构建。
您的应用程序 在红帽构建的 KogitoBuilds 页面中列出。您可以选择应用程序名称来查看或修改应用程序设置和 YAML 详情。
- 要创建 Kogito 微服务定义的红帽构建,请在 operator 页面中选择 Kogito Runtime 选项卡,然后单击 Create KogitoRuntime。
在应用窗口中,使用 Form View 或 YAML View 来配置微服务定义。
至少,定义以下示例 YAML 文件中的应用程序配置:
红帽构建的带有 Kogito 微服务的 Quarkus 应用程序的 YAML 定义
apiVersion: rhpam.kiegroup.org/v1 # Red Hat build of Kogito API for this microservice kind: KogitoRuntime # Application type metadata: name: example-quarkus # Application name使用红帽构建 Kogito 微服务的 Spring Boot 应用程序的 YAML 定义示例
apiVersion: rhpam.kiegroup.org/v1 # Red Hat build of Kogito API for this microservice kind: KogitoRuntime # Application type metadata: name: example-springboot # Application name spec: runtime: springboot注意在这种情况下,应用程序从 Git 构建并使用 KogitoRuntime 进行部署。您必须确保在
KogitoBuild和KogitoRuntime中应用程序名称相同。定义应用程序数据后,单击 Create 以生成红帽构建 Kogito 微服务。
您的应用在红帽构建的 Kogito 微服务页面中列出。您可以选择应用程序名称来查看或修改应用程序设置以及 YAML 文件的内容。
在 Web 控制台的左侧菜单中,进入 Builds
Builds 来查看应用程序构建的状态。 您可以选择特定的构建来查看构建详情。
注意对于您为 OpenShift 部署创建的 Kogito 微服务的每个红帽构建,会在 web 控制台中的 Builds 页面中生成并列出两个构建:传统的运行时构建以及带有后缀
-builder的 Source-to-Image (S2I)构建。S2I 机制在 OpenShift 构建中构建应用,然后将构建的应用传递到下一 OpenShift 构建,以打包到运行时容器镜像。Red Hat build of Kogito S2I 构建配置还允许您直接从 OpenShift 平台上的 Git 存储库构建项目。-
应用程序构建完成后,进入 Workloads
Deployments 以查看应用程序部署、pod 状态和其他详情。 部署红帽构建 Kogito 微服务后,在 Web 控制台的左侧菜单中,前往 Networking
Routes 来查看对部署的应用程序的访问链接。 您可以选择应用程序名称来查看或修改路由设置。
通过应用程序路由,您可以根据需要将红帽构建 Kogito 微服务与业务自动化解决方案集成。