Service Kubernetes将pod IP添加到环境变量中

Service Kubernetes将pod IP添加到环境变量中,service,kubernetes,environment-variables,yaml,Service,Kubernetes,Environment Variables,Yaml,我通过Kubernetes部署了Kafka部署和服务。每个吊舱都有其内部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_B

我通过Kubernetes部署了Kafka部署和服务。每个吊舱都有其内部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文件中的环境变量中?

kubernetes允许您使用环境变量

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

在您的情况下,可以在如下所示的环境变量中获得结果:


SOME_ENV_VARIABLE=

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

这并不能解决我的问题。在发布了关于如何设置环境变量的链接之后,理想情况下我需要的是在值中获得命令的结果,比如->值:$kubectl description services broker-namespace=kafka | grep Endpoints | awk'{print$2},但我认为这是不可能的我正在寻找更多现成的东西,在Kubernetes的某个YML文件中运行