2017-06-30 1 views
0

Ok est ici l'histoire:kubectl ajoutant variable d'env supplémentaire pour pod

J'utilise minikube pour accueillir ma demande:

1 redis marchepieds pod (Redis sur ubuntu: 14.04)

1 pod l'exécution de mon application php (php7-apache)

Je réalise que si je place mon pod Redis d'abord, puis mon pod php, mon pod php aura ces variables d'environnement supplémentaires:

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 

Ces variables remplacent le port I configuré pour mon projet php. Pour le contrer, je dois explicitement définir REDIS_PORT dans mon fichier yaml pour mon déploiement PHP.

Une idée de pourquoi cela est arrivé? Et une manière propre d'éviter cela?

Merci!

+0

votre service k8s est appelé 'redis' je devine? c'est pourquoi les vars env sont injectés comme ça. un peu surprenant que vous ne pouvez pas le contourner. pouvez-vous partager l'extrait 'env' de votre déploiement apache? – aschepis

+0

Haha, tu as raison !!!! C'est vraiment implicite !!! –

Répondre

2

Ooooook, a obtenu la réponse.

Crédits à @aschepis.

Pour une raison mystérieuse, si je nomme mon déploiement exactement "redis" dans le pod redis, les variables env seront injectées dans d'autres pods qui viendront plus tard.

Tant que je renomme le déploiement à un autre nom, les choses sont revenues à la normale ...

Merci encore à @aschepis.