Kubernetes原生
Quarkus应用程序被设计为在容器中运行。
Quarkus和Kubernetes的组合为创建可伸缩、快速和轻量级的应用程序提供了理想的环境。Quarkus通过工具、预构建集成、应用程序服务等显著提高了开发人员的生产率。
作为一个Kubernetes原生框架意味着什么?
单步执行部署
Quarkus使得在Kubernetes上部署微服务应用变得容易,而不需要了解Kubernetes底层框架的复杂性。Kubernetes和Kubernetes发行版都有相应的扩展,以促进这个过程,只需要最小的配置变量。
Using the Quarkus Kubernetes extension, developers can perform or automate a single-step deployment using Jib, Docker, and Source-to-Image (S2i) including the creation of DeploymentConfig to trigger automatic redeployments.
Read the "Kubernetes extension" guide
Additionally, Quarkus includes extensions that make it easy to deploy serverless microservices to cloud providers including AWS Lambda, Azure Functions, and Google Cloud Functions as well as Knative to take advantage of Quarkus application’s fast startup times.
追踪和调试
Quarkus为开发者提供了工具和能力,以解决Kubernetes中分布式微服务应用程序的故障,包括跟踪和调试。
Quarkus utilizes OpenTelemetry which is a vendor-agnostic API to help developers easily instrument tracing into their codebase. Distributed tracing helps pinpoint where failures occur and what causes poor performance.
Application Health
Quarkus leverages SmallRye Health, an implementation of the MicroProfile Health specification. This allows applications to provide information about their state to external viewers in a Kubernetes environment where automated processes must be able to determine whether the application should be discarded or restarted.
Application Metrics
Quarkus utilizes the Micrometer metrics library for runtime and application metrics. It provides a simple facade for the most popular monitoring systems to instrument your JVM-based application code without vendor lock-in. Application-specific and built-in metrics can be exposed using Micrometer.
应用配置
Quarkus includes an extension that allows developers to use Kubernetes ConfigMaps and Secrets as a configuration source, without having to mount them into the Pod running the Quarkus application or make any other modifications to their Kubernetes Deployment (or Openshift DeploymentConfig).
远程开发
Create and debug applications in the same environment where applications run. Live coding in development mode where any changes made locally will be immediately visible in a clustered Kubernetes environment.
Read the "Enhancing the development loop with Quarkus remote development" blog post