Kubernetes将Pod IP添加到环境变量中

时间:2019-03-11 16:11:41

标签: service kubernetes environment-variables yaml

我有一个通过Kubernetes部署的Kafka部署和服务。它的每个Pod都有其内部IP,并带有这样的命令

kubectl describe services broker --namespace=kafka | grep Endpoints | awk '{print $2}'

我可以全部获得:10.244.1.11:9092,10.244.2.15:9092,10.244.2.16:9092

在我的Kafka之后,我还与Kubernetes一起部署了另一个服务,该服务需要该命令的结果作为环境变量KAFKA_BOOTSTRAP_SERVERS。

如何在服务kubernetes YML文件中将该命令的结果放入环境变量

2 个答案:

答案 0 :(得分:1)

您应该使用python开发客户端程序,或者使用安装在每个容器中的服务帐户去go,访问api服务器端点并检索Kafka端点。解析Json文件输出,并获取实际的代理IP地址

答案 1 :(得分:0)

Kubernetes允许您使用环境变量。 Here is the documentation

您还可以使用HELM来使用模板,这些模板还允许使用环境变量。

在您的情况下,可以在如下的env变量中获得结果:

SOME_ENV_VARIABLE = $( command... )