环境变量调用类型问题

麻烦问下,我在charts包里的values.yaml中定义了一些配置信息,我在应用的配置当中调用的时候出现错误
values.yaml
%E5%9B%BE%E7%89%87
在部署完成容器的环境变量中的端口号带了""
%E5%9B%BE%E7%89%87
这样我在应用启动的时候就报错了
%E5%9B%BE%E7%89%87
应该是在取变量的时候端口号27017带着双引号造成的,请问这个该如何配置呢?

使用${mongo.port}试试

我redis配置的时候是${redis.port}也是同样的错误
%E5%9B%BE%E7%89%87

你好,请先确定环境变量是否支持带.号的写法,建议用下划线(如REDIS_PORT),在springboot应用中环境变量的下划线会被转为.号。

您好,我最上边发的就是用下划线的方式定义的同样的错误

vluaes中的配置

代码中的配置文件

查看容器的环境变量
%E5%9B%BE%E7%89%87


你好,请问这个是什么文件,
然后圈出的地方使用${mongo.host}${mongo.port}试试

这个是我项目里的配置文件,mongodbServer.xml
我明白你的意思了,我试一下

还是不行,同样的错误

我觉得是我容器的环境变量中端口号不管是6379还是27017,都带双引号""这种格式调用到我配置文件中才报的错误

那你尝试直接在kubernetes集群中修改Deployment的配置,把字符串改成数字(去掉双引号)后,看能够顺利运行吗?

我执行kubectl edit -n sit-test pods admin-sit-786854459-69wqd -o yaml

我按提示执行

还有什么方法修改的?

我试了也不太行,
Pod的配置里有引号,
image
我进了容器看了,
环境变量里是没有引号的


所以可能不是这个问题,建议从spring读取环境变量的方式入手看看怎么解决这个问题

我的容器里边环境变量全带这双引号
%E5%9B%BE%E7%89%87

你定义变量是在evn下吗?我看看是不是我哪里配置的不对

我是直接进入容器然后用env命令查看的

哦,谢谢,我在查查

基本上确定问题了,确实不是加不加双引号的问题,是我框架的问题,把配置文件里的变量直接当字符串了,我们的项目实在是,哎

好的~