如何利用HELM的values.yaml覆盖UAT环境下ConfigMap的Quarkus配置项
通过Helm的values.yaml覆盖Quarkus配置项的实现方案
1. 改造ConfigMap的Helm模板
将原ConfigMap转换为支持Helm变量注入的模板,把需要覆盖的配置项替换为从values.yaml读取的变量,同时保留默认值作为 fallback:
apiVersion: v1 kind: ConfigMap metadata: name: app-yaml data: application.yml: | quarkus.http.port={{ .Values.quarkus.httpPort | default "8890" }} quarkus.datasource.TEST.jdbc.url={{ .Values.quarkus.datasource.testJdbcUrl | default "jdbc:oracle:thin:@//localhost:1521/test" }}
2. 在values.yaml中配置UAT环境专属值
在Helm Chart的values.yaml里添加对应配置项,填入UAT环境需要的端口和数据库连接地址:
quarkus: httpPort: "8891" # UAT环境使用的端口 datasource: testJdbcUrl: "jdbc:oracle:thin:@//uat-db.example.com:1521/uat-test" # UAT环境的数据库地址
3. (可选)使用环境专属values文件
如果需要区分多环境(如dev/uat/prod),可以单独创建values-uat.yaml文件,仅存放UAT环境的配置:
quarkus: httpPort: "8891" datasource: testJdbcUrl: "jdbc:oracle:thin:@//uat-db.example.com:1521/uat-test"
部署时通过-f参数指定该文件即可生效:
helm install your-app ./your-chart -f values-uat.yaml
内容的提问来源于stack exchange,提问作者Amith Srinivasan
相关产品推荐
相关产品推荐

