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