kubectl将额外的env变量添加到pod

时间:2017-06-30 14:37:41

标签: redis kubernetes kubectl minikube

好的就是这个故事:

我使用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部署。

知道为什么会这样吗?干净的方式来避免这种情况?

谢谢!

1 个答案:

答案 0 :(得分:2)

Ooooook,得到了答案。

致@aschepis的信用。

出于一些神秘的原因,如果我将我的部署命名为redis pod中的“redis”,那么env变量将被注入后来出现的其他pod。

只要我将部署重命名为其他名称,事情就会恢复正常......

再次感谢@aschepis。