kubectl 向 pod 添加额外的 env 变量

kubectl adding extra env variable to pod

好的,故事是这样的:

我正在使用 minikube 来托管我的应用程序:

1 pod 运行 redis(redis on ubuntu:14.04)

1 pod 运行 我的 php 应用程序 (php7-apache)

我意识到如果我先设置我的 redis pod 然后我的 php pod,我的 php pod 将有这些额外的环境变量:

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 项目设置的端口。

为了解决这个问题,我必须在我的 php 部署的 yaml 文件中明确设置 REDIS_PORT。

知道为什么会这样吗?以及简单地避免这种情况的干净方法?

谢谢!

太棒了,找到答案了。

感谢@aschepis。

出于某种神秘的原因,如果我在 redis pod 中将我的部署命名为 "redis",环境变量将被注入到后来的其他 pods。

只要我将部署重命名为另一个名称,一切就会恢复正常...

再次感谢@aschepis。