第 13 章 为 JBoss EAP 镜像开发应用程序
要在 JBoss EAP 上开发 Fuse 应用程序,替代方案是使用 S2I 源工作流为带有 EAP 的 Red Hat Camel CDI 创建 OpenShift 项目。
先决条件
- 确保 OpenShift 正常运行,并且 OpenShift 中已安装了 Fuse 镜像流。请参阅管理员入门。
- 确保为 fuse 配置 Maven 存储库,请参阅配置 Maven 存储库。
13.1. 使用 S2I 源工作流创建 JBoss EAP 项目
要在 JBoss EAP 上开发 Fuse 应用程序,替代方案是使用 S2I 源工作流为带有 EAP 的 Red Hat Camel CDI 创建 OpenShift 项目。
流程
将
view
角色添加到 default 服务帐户以启用集群。这会授予用户对default
服务帐户的view
访问权限。每个项目都需要服务帐户来运行构建、部署和其他容器集。在 shell 提示符中输入以下oc
客户端命令:oc login -u developer -p developer oc policy add-role-to-user view -z default
查看 OpenShift 模板上安装的 Fuse。
oc get template -n openshift
输入以下命令创建使用 EAP quickstart 运行 Red Hat Fuse 7.8 Camel CDI 所需的资源。它为快速启动创建部署配置和构建配置。有关快速启动和创建的资源的信息显示在终端上。
oc new-app s2i-fuse78-eap-camel-cdi --> Creating resources ... service "s2i-fuse78-eap-camel-cdi" created service "s2i-fuse78-eap-camel-cdi-ping" created route.route.openshift.io "s2i-fuse78-eap-camel-cdi" created imagestream.image.openshift.io "s2i-fuse78-eap-camel-cdi" created buildconfig.build.openshift.io "s2i-fuse78-eap-camel-cdi" created deploymentconfig.apps.openshift.io "s2i-fuse78-eap-camel-cdi" created --> Success Access your application via route 's2i-fuse78-eap-camel-cdi-OPENSHIFT_IP_ADDR' Build scheduled, use 'oc logs -f bc/s2i-fuse78-eap-camel-cdi' to track its progress. Run 'oc status' to view your app.
-
在浏览器中打开 OpenShift Web 控制台(https://OPENSHIFT_IP_ADDR,将
OPENSHIFT_IP_ADDR
替换为集群的 IP 地址),并使用您的凭证登录控制台(例如,使用用户名developer
和密码developer
)。 -
在左侧面板中,展开
Home
。点Status
查看Project Status
页面。此时会显示所选命名空间中的所有现有应用程序(如 openshift)。 单击
s2i-fuse78-eap-camel-cdi
以查看快速启动的Overview
信息页面。单击
Resources
选项卡,然后单击 Routes 部分中显示的链接来访问应用程序。该链接的格式是 http://s2i-fuse78-eap-camel-cdi-OPENSHIFT_IP_ADDR。在您的浏览器中显示类似如下的信息:
Hello world from 172.17.0.3
您还可以使用 URL 中的 name 参数指定一个名称。例如,如果您在浏览器中输入 URL http://s2i-fuse78-eap-camel-cdi-openshift.apps.cluster-name.openshift.com/?name=jdoe,您会看到响应:
Hello jdoe from 172.17.0.3
-
单击
View Logs
以查看应用的日志。 关闭正在运行的 pod,
-
单击
Overview
选项卡,以返回到应用的概览信息页面。 -
点 Desired Count 旁边的 图标。此时会显示
Edit Count
窗口。 - 使用向下箭头向下扩展到零,以停止 pod。
-
单击