You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Quarkus Helm扩展将application.properties转为K8s ConfigMap及环境变量

借助Quarkus Helm扩展从application.properties生成Kubernetes ConfigMap并使其可用

一、先启用必要扩展

确保你的项目已添加Quarkus Kubernetes和Helm扩展,用以下命令快速添加:

quarkus ext add kubernetes helm

二、从application.properties生成ConfigMap

通过在application.properties中添加配置,让Quarkus自动生成包含配置属性的ConfigMap,Helm扩展会自动将其纳入生成的Helm Chart:

基础配置(生成指定属性的ConfigMap)

# 开启ConfigMap自动生成
quarkus.kubernetes.configmap.generate=true
# 指定生成的ConfigMap名称
quarkus.kubernetes.configmap.name=my-app-config
# 可选:给ConfigMap添加标签
quarkus.kubernetes.configmap.labels.app=my-app
quarkus.kubernetes.configmap.labels.env=prod

# 可选:筛选要纳入ConfigMap的属性(支持通配符)
# 示例:只包含app.*和db.*开头的属性
quarkus.kubernetes.configmap.from-properties=app.*,db.*
# 可选:排除Quarkus自身的配置属性
quarkus.kubernetes.configmap.exclude=quarkus.*

额外添加字面量配置(可选)

如果需要手动添加不在application.properties里的配置项:

quarkus.kubernetes.configmap.from-literal=app.extra-config=custom-value

执行构建命令后,ConfigMap会生成到target/kubernetes/目录,同时Helm Chart会将其包含在target/kubernetes/helm/<应用名>/templates/路径中。

三、让配置在Kubernetes容器中可用

有两种常用方式让配置生效:挂载为配置文件,或注入为环境变量。

方式1:挂载ConfigMap为容器内的配置文件

Quarkus默认会扫描/config目录下的配置文件,通过以下配置让Kubernetes将ConfigMap挂载到该路径:

# 定义ConfigMap类型的Volume
quarkus.kubernetes.volumes.configmap.my-app-config.name=my-app-config
# 将Volume挂载到容器的/config目录
quarkus.kubernetes.volume-mounts.my-app-config.path=/config
quarkus.kubernetes.volume-mounts.my-app-config.read-only=true

容器启动后,Quarkus会自动加载/config/application.properties(由ConfigMap生成)中的配置。

方式2:将ConfigMap属性注入为环境变量

可单独映射某个属性,或批量导入所有属性:

# 单独映射:将ConfigMap中的app.name转为APP_NAME环境变量
quarkus.kubernetes.env.vars.APP_NAME=configmap:my-app-config:app.name

# 批量导入:将ConfigMap所有属性转为环境变量,添加前缀APP_
quarkus.kubernetes.env.from-configmap=my-app-config
quarkus.kubernetes.env.from-configmap.prefix=APP_

应用代码中可通过@ConfigProperty(name = "APP_NAME")或直接读取环境变量获取值。

四、验证生成的资源

执行构建命令:

mvn clean package -Dquarkus.kubernetes.deploy=false

查看target/kubernetes/helm/<应用名>/templates/目录下的ConfigMap和Deployment YAML文件,确认配置已正确生成,部署Helm Chart后即可生效。

内容的提问来源于stack exchange,提问作者vvra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 11:54:22