K8S如何通過configmap將環境變量注入springboot應用


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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章