从另一个Pod抓取Pod的IP地址

时间:2019-04-19 20:44:53

标签: kubernetes environment-variables ip inject

我有一个部署容器,该容器需要获取另一个部署容器的另一个IP地址并将其用作环境变量。我能找到的最接近的是这个how-to-know-a-pods-own-ip-address-from-inside-a-container-in-the-pod

我知道我可以使用环境变量:$<SVC NAME>_SERVICE_HOST来获取服务的IP地址,该变量被注入到在该服务之后创建的Pod中。创建第一个部署窗格后,是否可以通过类似的方式将部署窗格的IP地址注入另一个部署窗格?

2 个答案:

答案 0 :(得分:0)

您应该考虑通过ClusterIP服务公开目标容器,并使用该服务的群集DNS FQDN访问该容器。使用这种方法,您不必担心目标吊舱位于哪个IP,因为Kube代理将为您处理所有DNS和路由。然后,您只需知道什么是ClusterIP服务端点,并通过该端点访问目标容器。

官方文档中包含与此主题相关的case studyinteractive tutorial

希望这会有所帮助!

答案 1 :(得分:0)

当前无法在DNS或环境变量中找到另一个Pod的IP。为此,您需要查询Kubernetes API。您可以使用pod和部署列表权限创建serviceaccount,然后使用Kubernetes API库或kubectl。