6.2. 将 Quarkus 应用程序部署到 OpenShift
设置所需的基础架构后,您必须使用 Prometheus 启用 Micrometer。
先决条件
- 您可以访问 OpenShift CLI、4.6 或更高版本。
- 您有一个 OpenShift 实例
- 您已在上一节中创建了 ConfigMap,在 OpenShift 中为用户定义的项目启用监控
流程
实施 REST API:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加微主题 registry 常见问题:
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
# 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,则需要在 Maven 命令中附加 -Dquarkus.kubernetes-client.trust-certs=true。