6.2. 将 Quarkus 应用程序部署到 OpenShift
设置所需的基础架构后,您必须使用 Prometheus 启用 Micrometer。
先决条件
- 您可以访问 OpenShift CLI、4.6 或更高版本
- 您有一个 OpenShift 实例
- 您已在上一节中创建了一个 ConfigMap,在 OpenShift 中为用户定义的项目启用监控
流程
实现 REST API:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加 micrometer registry facade:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这个 Micrometer facade 创建一个计数器,每次调用服务时都会递增。registry 帮助创建自定义指标或手动使用指标。您还可以按如下方式注解方法:
@GET @Counted(value = "greeting_counter") public String sayHello() { return "Hello!"; }@GET @Counted(value = "greeting_counter") public String sayHello() { return "Hello!"; }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行应用程序:
mvn compile quarkus:dev
mvn compile quarkus:devCopy to Clipboard Copied! Toggle word wrap Toggle overflow 调用您的服务:
curl http://localhost:8080/hello
curl http://localhost:8080/helloCopy to Clipboard Copied! Toggle word wrap Toggle overflow 该服务应该返回
Hello!浏览到
http://localhost:8080/q/metrics。您应该会看到带有计数 1.0 的greeting_counter(您刚刚完成的一个):# HELP greeting_counter_total #TYPE greeting_counter_total counter greeting_counter_total 1.0
# HELP greeting_counter_total #TYPE greeting_counter_total counter greeting_counter_total 1.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过在
pom.xml中输入扩展quarkus-openshift,将 Quarkus 应用程序部署到 OpenShift 中:<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-openshift</artifactId> </dependency><dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-openshift</artifactId> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 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
oc new-project my-project mvn clean package -Dquarkus.kubernetes.deploy=true -Dquarkus.openshift.expose=true -Dquarkus.openshift.labels.app-with-metrics=quarkus-appCopy to Clipboard Copied! Toggle word wrap Toggle overflow
app-with-metrics 在 OpenShift 项目中创建服务监控器。
如果您使用没有安全 SSL 的 OpenShift,您还需要将 -Dquarkus.kubernetes-client.trust-certs=true 附加到 Maven 命令。