首先又一個開發環境的應用變量配置文件 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}")這樣的方式使用配置項