k8s configMap挂载(项目配置文件放到configMap中,不同环境不同配置)

背景说明

项目对接配置文件加密,比如数据库密码、redis密码等。但是密文只能放到指定的配置文件中(important.properties),该配置文件又不能接收环境变量,所以就很难区分不同环境的不同配置(不同环境的数据库密码、redis密码一般都不一样)。

pom.xml解决方案

在pom.xml中通过指定profiles解决,同时在build下开启@@替换变量的功能。如下图:
k8s configMap挂载(项目配置文件放到configMap中,不同环境不同配置)_第1张图片
开启@@替换变量
k8s configMap挂载(项目配置文件放到configMap中,不同环境不同配置)_第2张图片
然后再important.properties中用@符号获取pom.xml里面的值
k8s configMap挂载(项目配置文件放到configMap中,不同环境不同配置)_第3张图片

configMap解决方案

再yml部署文件中(k8s),将important.properties文件的内容放到configMap中,然后将configMap挂载到编译后的important.properties文件地址下。这样只要进行部署,important.properties文件的内容就会被yml部署文件里的内容替换。
然后不同的环境配置不同的yml即可。核心配置如下:
configMap中important.properties文件的内容:
k8s configMap挂载(项目配置文件放到configMap中,不同环境不同配置)_第4张图片
挂载目录配置:
k8s configMap挂载(项目配置文件放到configMap中,不同环境不同配置)_第5张图片

你可能感兴趣的:(kubernetes,容器,云原生)