【发布时间】:2019-02-14 20:14:36
【问题描述】:
我正在使用集群 IP 类型的 Kubernetes 服务,它将公开一个部署。 在我的容器中,我想使用服务 IP(集群 IP)。有什么方法可以获取 Pod/容器内的 IP 地址吗?
是否可以从Service name获取集群IP?
【问题讨论】:
标签: kubernetes activemq kube-proxy kubernetes-service
我正在使用集群 IP 类型的 Kubernetes 服务,它将公开一个部署。 在我的容器中,我想使用服务 IP(集群 IP)。有什么方法可以获取 Pod/容器内的 IP 地址吗?
是否可以从Service name获取集群IP?
【问题讨论】:
标签: kubernetes activemq kube-proxy kubernetes-service
是的,通过environment-level service discovery 机制。但是请注意,您要像这样访问的任何服务都必须在 pod 本身启动之前创建,否则不会填充环境变量。
【讨论】:
在容器/POD 中,您可以使用引用服务的 dns 名称。
基本上,文件 /etc/hosts 填充了 kube-dns 的地址。
你可以像这样使用它:
<svc-name>.<namespace>.svc.cluster.local
如果您必须需要 IP,可以使用 ENV Variablse 或直接 ping DNS 名称。
【讨论】: