6.2. 将 Quarkus 应用程序部署到 OpenShift


设置所需的基础架构后,您必须使用 Prometheus 启用 Micrometer。

先决条件

流程

  1. 实现 REST API:

    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-resteasy</artifactId>
    </dependency>
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-micrometer-registry-prometheus</artifactId>
    </dependency>
    Copy to Clipboard Toggle word wrap
  2. 添加 micrometer registry facade:

    import javax.inject.Inject;
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    
    import io.micrometer.core.instrument.MeterRegistry;
    
    @Path("/hello")
    public class GreetingsResource {
    
        @Inject
        MeterRegistry registry;
    
        @GET
        public String sayHello() {
            registry.counter("greeting_counter").increment();
    
            return "Hello!";
        }
    }
    Copy to Clipboard Toggle word wrap

    这个 Micrometer facade 创建一个计数器,每次调用服务时都会递增。registry 帮助创建自定义指标或手动使用指标。您还可以按如下方式注解方法:

    @GET
    @Counted(value = "greeting_counter")
    public String sayHello() {
        return "Hello!";
    }
    Copy to Clipboard Toggle word wrap
  3. 运行应用程序:

    mvn compile quarkus:dev
    Copy to Clipboard Toggle word wrap
  4. 调用您的服务:

    curl http://localhost:8080/hello
    Copy to Clipboard Toggle word wrap

    该服务应该返回 Hello!

  5. 浏览到 http://localhost:8080/q/metrics。您应该会看到带有计数 1.0 的 greeting_counter (您刚刚完成的一个):

    # HELP greeting_counter_total
    #TYPE greeting_counter_total counter
    greeting_counter_total 1.0
    Copy to Clipboard Toggle word wrap
  6. 通过在 pom.xml 中输入扩展 quarkus-openshift,将 Quarkus 应用程序部署到 OpenShift 中:

    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-openshift</artifactId>
    </dependency>
    Copy to Clipboard Toggle word wrap
  7. 在 OpenShift 中将应用程序部署到名为 my-project 的新创建的项目中:

    oc new-project my-project
    
    mvn clean package -Dquarkus.kubernetes.deploy=true -Dquarkus.openshift.expose=true -Dquarkus.openshift.labels.app-with-metrics=quarkus-app
    Copy to Clipboard Toggle word wrap

app-with-metrics 在 OpenShift 项目中创建服务监控器

注意

如果您使用没有安全 SSL 的 OpenShift,您还需要将 -Dquarkus.kubernetes-client.trust-certs=true 附加到 Maven 命令。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部