背景说明

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

pom.xml解决方案

在pom.xml中通过指定profiles解决,同时在build下开启@@替换变量的功能。如下图:
在这里插入图片描述
开启@@替换变量
在这里插入图片描述
然后再important.properties中用@符号获取pom.xml里面的值
在这里插入图片描述

configMap解决方案

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

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐