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。
-
已安装
ocOpenShift 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 定义示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 带有红帽构建的 Spring Boot 应用程序的 YAML 定义示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您配置了内部 Maven 存储库,您可以将其用作 Maven mirror 服务,并在 Red Hat build of Kogito 构建定义中指定 Maven mirror URL 来缩短构建时间:
spec: mavenMirrorURL: http://nexus3-nexus.apps-crc.testing/repository/maven-public/
spec: mavenMirrorURL: http://nexus3-nexus.apps-crc.testing/repository/maven-public/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关内部 Maven 存储库的更多信息,请参阅 Apache Maven 文档。
定义应用程序数据后,点 Create 生成 Red Hat build of Kogito 构建。
您的应用程序在 红帽构建的 KogitoBuilds 页面中列出。您可以选择应用程序名称来查看或修改应用程序设置和 YAML 详情。
使用以下命令上传文件资产:
oc start-build example-quarkus-builder --from-file=<file-asset-path> -n namespace
$ oc start-build example-quarkus-builder --from-file=<file-asset-path> -n namespaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
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
apiVersion: rhpam.kiegroup.org/v1 # Red Hat build of Kogito API for this microservice kind: KogitoRuntime # Application type metadata: name: example-quarkus # Application nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 带有红帽构建的 Kogito 微服务的 Spring Boot 应用程序的 YAML 定义示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在这种情况下,应用程序是从文件构建并使用 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 微服务构建与业务自动化解决方案集成。