第 6 章 为 HawtIO 在线设置应用程序


本节演示了如何在 OpenShift 上部署 Camel Quarkus 应用程序,并使用 Camel Quarkus 使它启用了 HawtIO。在 OpenShift 上部署后,它将由 HawtIO 在线发现。

  1. 此项目 使用 Quarkus 容器镜像Kubernetes 扩展来构建容器镜像,并将其部署到 Kubernetes/OpenShift 集群(pom.xml)。
  2. 启用了 HawtIO 的配置条款中最重要的部分在 < properties&gt; 部分中定义。要使它启用了 HawtIO,必须将 Jolokia 代理附加到配置了 HTTPS 和 SSL client-authentication 的应用。客户端主体应与 HawtIO 在线实例提供的匹配(默认为 hawtio-online.hawtio.svc)。

    <properties>
        <jolokia.protocol>https</jolokia.protocol>
        <jolokia.host>*</jolokia.host>
        <jolokia.port>8778</jolokia.port>
        <jolokia.useSslClientAuthentication>true</jolokia.useSslClientAuthentication>
        <jolokia.caCert>/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt</jolokia.caCert>
        <jolokia.clientPrincipal.1>cn=hawtio-online.hawtio.svc</jolokia.clientPrincipal.1>
        <jolokia.extendedClientCheck>true</jolokia.extendedClientCheck>
        <jolokia.discoveryEnabled>false</jolokia.discoveryEnabled>
    </properties>
    Copy to Clipboard Toggle word wrap
  3. 在本地运行应用程序:

    1. 使用以下命令在 development 模式下运行:

      mvn compile quarkus:dev
      Copy to Clipboard Toggle word wrap
    2. 或者构建项目并执行可运行的 JAR:

      mvn package && java -jar target/quarkus-app/quarkus-run.jar
      Copy to Clipboard Toggle word wrap
  4. 在本地使用 Jolokia 代理运行:

    1. 您可以在本地使用 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
      Copy to Clipboard Toggle word wrap
  5. 将其部署到 OpenShift:

    1. 要将其部署到集群中,首先更改 pom.xml 中的容器镜像参数,以适合开发环境。(默认镜像名称为 quay.io/hawtio/hawtio-online-example-camel-quarkus:latest,它应该被推送到 Quay.io 上的 hawtio 组织。

      <!--
        Container registry and group should be changed to those which your application uses.
      -->
      <quarkus.container-image.registry>quay.io</quarkus.container-image.registry>
      <quarkus.container-image.group>hawtio</quarkus.container-image.group>
      <quarkus.container-image.tag>latest</quarkus.container-image.tag>
      Copy to Clipboard Toggle word wrap
    2. 然后,使用选项 -Dquarkus.container-image.push=true 来构建项目,以将构建镜像推送到首选容器 registry:

      mvn install -Dquarkus.container-image.push=true
      Copy to Clipboard Toggle word wrap
    3. 部署的资源文件也会在 target/kubernetes/kubernetes.yml 上生成。使用 kubectloc 命令,使用 resources 文件部署应用程序:

      kubectl apply -f target/kubernetes/kubernetes.yml
      Copy to Clipboard Toggle word wrap
    4. 部署成功后,pod 已启动,可以在集群中看到应用程序日志
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat