我有一个部署容器,该容器需要获取另一个部署容器的另一个IP地址并将其用作环境变量。我能找到的最接近的是这个how-to-know-a-pods-own-ip-address-from-inside-a-container-in-the-pod
我知道我可以使用环境变量:$<SVC NAME>_SERVICE_HOST
来获取服务的IP地址,该变量被注入到在该服务之后创建的Pod中。创建第一个部署窗格后,是否可以通过类似的方式将部署窗格的IP地址注入另一个部署窗格?
答案 0 :(得分:0)
您应该考虑通过ClusterIP
服务公开目标容器,并使用该服务的群集DNS FQDN访问该容器。使用这种方法,您不必担心目标吊舱位于哪个IP,因为Kube代理将为您处理所有DNS和路由。然后,您只需知道什么是ClusterIP服务端点,并通过该端点访问目标容器。
官方文档中包含与此主题相关的case study和interactive tutorial。
希望这会有所帮助!
答案 1 :(得分:0)
当前无法在DNS或环境变量中找到另一个Pod的IP。为此,您需要查询Kubernetes API。您可以使用pod和部署列表权限创建serviceaccount,然后使用Kubernetes API库或kubectl。