第 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
client 命令: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.12 Camel CDI 所需的资源。它为快速入门创建部署配置和构建配置。终端会显示有关 Quickstart 和创建的资源的信息。
oc new-app s2i-fuse7-eap-camel-cdi --> Creating resources ... service "s2i-fuse7-eap-camel-cdi" created service "s2i-fuse7-eap-camel-cdi-ping" created route.route.openshift.io "s2i-fuse7-eap-camel-cdi" created imagestream.image.openshift.io "s2i-fuse7-eap-camel-cdi" created buildconfig.build.openshift.io "s2i-fuse7-eap-camel-cdi" created deploymentconfig.apps.openshift.io "s2i-fuse7-eap-camel-cdi" created --> Success Access your application via route 's2i-fuse7-eap-camel-cdi-OPENSHIFT_IP_ADDR' Build scheduled, use 'oc logs -f bc/s2i-fuse7-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-fuse7-eap-camel-cdi
,以查看 Quickstart 的Overview
信息页面。点
Resources
选项卡,然后点 Routes 部分显示的链接来访问应用程序。链接的格式为 http://s2i-fuse7-eap-camel-cdi-OPENSHIFT_IP_ADDR。在浏览器中显示类似如下的消息:
Hello world from 172.17.0.3
您还可以使用 URL 中的 name 参数指定名称。例如,如果您在浏览器中输入 URL http://s2i-fuse7-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
窗口。 - 使用向下箭头缩减至零以停止容器集。
-
单击