好的就是这个故事:
我使用minikube来托管我的应用程序:
运行redis的1个pod(ubuntu上的redis:14.04)
1个pod运行我的php应用程序(php7-apache)
我意识到如果我首先设置我的redis pod然后我的php pod,我的php pod会有这些额外的env变量:
REDIS_SERVICE_PORT=6379
REDIS_PORT_6379_TCP_ADDR=10.0.0.229
REDIS_PORT_6379_TCP_PORT=6379
REDIS_PORT_6379_TCP=tcp://10.0.0.229:6379
REDIS_PORT=tcp://10.0.0.229:6379
REDIS_SERVICE_HOST=10.0.0.229
这些变量会覆盖我为php项目设置的端口。
要反击它,我必须在我的yaml文件中显式设置REDIS_PORT以进行我的php部署。
知道为什么会这样吗?干净的方式来避免这种情况?
谢谢!
答案 0 :(得分:2)
Ooooook,得到了答案。
致@aschepis的信用。
出于一些神秘的原因,如果我将我的部署命名为redis pod中的“redis”,那么env变量将被注入后来出现的其他pod。
只要我将部署重命名为其他名称,事情就会恢复正常......
再次感谢@aschepis。