第 6 章 为 HawtIO 在线设置应用程序
本节演示了如何在 OpenShift 上部署 Camel Quarkus 应用程序,并使用 Camel Quarkus 使它启用了 HawtIO。在 OpenShift 上部署后,它将由 HawtIO 在线发现。
- 此项目 使用 Quarkus 容器镜像 和 Kubernetes 扩展来构建容器镜像,并将其部署到 Kubernetes/OpenShift 集群(pom.xml)。
启用了 HawtIO 的配置条款中最重要的部分在 <
properties>
; 部分中定义。要使它启用了 HawtIO,必须将 Jolokia 代理附加到配置了 HTTPS 和 SSL client-authentication 的应用。客户端主体应与 HawtIO 在线实例提供的匹配(默认为hawtio-online.hawtio.svc
)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本地运行应用程序:
使用以下命令在 development 模式下运行:
mvn compile quarkus:dev
mvn compile quarkus:dev
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者构建项目并执行可运行的 JAR:
mvn package && java -jar target/quarkus-app/quarkus-run.jar
mvn package && java -jar target/quarkus-app/quarkus-run.jar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在本地使用 Jolokia 代理运行:
您可以在本地使用 Jolokia JVM 代理运行这个示例,如下所示:
java -javaagent:target/quarkus-app/lib/main/org.jolokia.jolokia-agent-jvm-2.0.1-javaagent.jar -jar target/quarkus-app/quarkus-run.jar
java -javaagent:target/quarkus-app/lib/main/org.jolokia.jolokia-agent-jvm-2.0.1-javaagent.jar -jar target/quarkus-app/quarkus-run.jar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将其部署到 OpenShift:
要将其部署到集群中,首先更改 pom.xml 中的容器镜像参数,以适合开发环境。(默认镜像名称为
quay.io/hawtio/hawtio-online-example-camel-quarkus:latest
,它应该被推送到 Quay.io 上的hawtio
组织。)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 然后,使用选项
-Dquarkus.container-image.push=true
来构建项目,以将构建镜像推送到首选容器 registry:mvn install -Dquarkus.container-image.push=true
mvn install -Dquarkus.container-image.push=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 部署的资源文件也会在 target/kubernetes/kubernetes.yml 上生成。使用
kubectl
或oc
命令,使用 resources 文件部署应用程序:kubectl apply -f target/kubernetes/kubernetes.yml
kubectl apply -f target/kubernetes/kubernetes.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 部署成功后,pod 已启动,可以在集群中看到应用程序日志