K8S如何通过configmap将环境变量注入springboot应用
首先又一个开发环境的应用变量配置文件 demo-dev.propertiesdemo.jdbc.url=jdbc:mysql://127.0.0.1:3306/my_testdb?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&connectTimeout=500...
·
首先又一个开发环境的应用变量配置文件 demo-dev.properties
demo.jdbc.url=jdbc:mysql://127.0.0.1:3306/my_testdb?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&connectTimeout=5000&ocketTimeout=5000&autoReconnect=true&maxReconnects=5&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
demo.jdbc.userName=root
demo.jdbc.password=123456
...
创建configmap
kubectl create configmap demo-dev-confmap --from-env-file demo-dev.properties
注意一定要用--from-env-file而不是--from-file,区别是前者导入的是properties里的各项,后者导入的是文件名为key的一项。
在springboot的yaml配置文件中引用刚创建的demo-dev-confmap
...
spec:
containers:
- name: demo-deployment
image: org.cliff.demo:1.0.0
imagePullPolicy: IfNotPresent
env:
- name: JAVA_OPTS
value: "-Xms256M -Xmx512M -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps"
envFrom:
- configMapRef:
name: demo-dev-confmap
...
注意是envFrom方式导入configmap
这样在应用的xml文件或者java类里就可以以${demo.jdbc.url}或者@Value("${demo.jdbc.url}")这样的方式使用配置项
更多推荐
已为社区贡献1条内容
所有评论(0)