如何从Quarkus的application.properties及其helm扩展生成kubernetes配置映射



如何使Quarkusapplication.properties的属性在Kubernetes容器中作为配置映射或环境变量可用?

quarkus提供helm和kubernetes扩展以在构建期间生成资源(yaml(,这些资源可用于在kubernete中部署应用程序。然而,此扩展并没有详细说明生成configmap以保存application.properties中设置的应用程序属性的方法。该网站也没有给出它的方向。

这就是Kubernetes Config扩展的目的。基本上,在将Kubernetes Config、Kubernete和Helm扩展添加到Maven/Gradle配置后,您需要首先通过将以下属性添加到应用程序属性来启用它:

quarkus.kubernetes-config.enabled=true
quarkus.kubernetes-config.config-maps=app-config

有了这两个属性,Quarkus将尝试在启动时加载名为app-config的配置映射作为配置源。

名为app-config的ConfigMap在哪里?您需要自己编写它,并在那里编写应用程序属性,例如:

apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
application.properties: |
hello.message=Hello %s from configmap

然后在文件CCD_ 5处添加该内容。(请注意,文件的名称必须为kubernetes.yml,文件夹必须为src/main/kubernetes(。更多信息在此链接中。

Kubernetes扩展将文件src/main/kubernetes/kubernetes.yml中的资源聚合到生成的target/kubernetes/kubernetes.yml中(您会注意到您的configmap就在那里(。

最后,Helm扩展将检查target/kubernetes文件夹,并相应地创建Helm图表模板。

您可以在此链接中签出完整的示例。

最新更新