10.4. 使用文件构建和 OpenShift Web 控制台在 OpenShift 上部署 Red Hat Kogito 微服务
您可以从单个文件构建和部署 Kogito 微服务构建,如 Decision Model 和 Notation(DMN)、CEP Rule Language(DRL)或属性文件,或者从含有多个文件的目录构建和部署。您可以从本地文件系统路径中指定单个文件,或者只指定来自本地文件系统路径的文件目录。将文件或目录上传到 OpenShift 集群时,会自动触发新的 Source-to-Image(S2I)构建。
Operator 使用以下自定义资源来部署特定于域的微服务(您开发的微服务):
-
KogitoBuild
从文件中生成应用程序并生成运行时镜像。 -
KogitoRuntime
启动运行时镜像,并根据要求进行配置。
先决条件
- 已安装 RHPAM Kogito Operator。
-
已安装
oc
OpenShift CLI,并登录到相关的 OpenShift 集群。有关oc
安装和登录说明,请参阅 OpenShift 文档。 -
您可以访问 OpenShift Web 控制台,具有创建并编辑
KogitoBuild
和KogitoRuntime
所需的权限。
流程
-
进入 Operators
Installed Operators 并选择 RHPAM Kogito Operator。 - 要在 operator 页面上创建 Red Hat build of Kogito build 定义,请选择 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: LocalSource
带有红帽构建的 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: LocalSource
注意如果您配置了内部 Maven 存储库,您可以将其用作 Maven mirror 服务,并在 Red Hat build of Kogito 构建定义中指定 Maven mirror URL 来缩短构建时间:
spec: mavenMirrorURL: http://nexus3-nexus.apps-crc.testing/repository/maven-public/
有关内部 Maven 存储库的更多信息,请参阅 Apache Maven 文档。
定义应用程序数据后,点 Create 生成 Red Hat build of Kogito 构建。
您的应用程序在 红帽构建的 KogitoBuilds 页面中列出。您可以选择应用程序名称来查看或修改应用程序设置和 YAML 详情。
使用以下命令上传文件资产:
$ oc start-build example-quarkus-builder --from-file=<file-asset-path> -n namespace
-
file-asset-path
是您要上传的文件内容的路径。 -
namespace
是创建KogitoBuild
的命名空间。
-
- 要创建 Red Hat build of Kogito 微服务定义,请在 operator 页面中选择 Kogito Runtime 选项卡,然后点击 Create KogitoRuntime。
在应用窗口中,使用 Form View 或 YAML View 来配置微服务定义。
至少,定义以下示例 YAML 文件中显示的应用程序配置:
带有红帽构建的 Kogito 微服务构建的 Red Hat build 的 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
注意在这种情况下,应用程序是从文件构建并使用 KogitoRuntime 进行部署。您必须确保应用程序名称在
KogitoBuild
和KogitoRuntime
中相同。定义应用程序数据后,点 Create 生成 Red Hat build of Kogito 微服务。
您的应用程序在红帽构建的 Kogito 微服务页面中列出。您可以选择应用程序名称来查看或修改应用程序设置以及 YAML 文件的内容。
在 Web 控制台的左侧菜单中,转至 Builds
Builds 以查看应用程序构建的状态。 您可以选择特定的构建来查看构建详情。
注意对于您为 OpenShift 部署创建的每个红帽构建 Kogito 微服务,Web 控制台的 Builds 页面会生成并列出两个构建:传统运行时构建和 Source-to-Image(S2I)构建,后缀
-builder
。S2I 机制在 OpenShift 构建中构建应用,然后将构建的应用传递到下一 OpenShift 构建,以打包至运行时容器镜像。-
应用程序构建完成后,进入 Workloads
Deployments 来查看应用程序部署、pod 状态和其他详情。 部署完 Red Hat build of Kogito microservice 后,在 web 控制台的左侧菜单中,转至 Networking
Routes 以查看对部署的应用程序的访问链接。 您可以选择应用程序名称来查看或修改路由设置。
通过应用程序路由,您可以根据需要将 Kogito 微服务构建与业务自动化解决方案集成。