在 POD 中使用服务的 ClusterIP 地址

Using Service's ClusterIP Address inside POD

我正在使用集群 IP 类型的 Kubernetes 服务,它将公开一个部署。 在我的容器中,我想使用服务 IP(集群 IP)。有什么方法可以获取 Pod/container 中的 IP 地址?

是否可以从服务名称获取集群IP?

是的,通过 environment-level service discovery 机制。但是请注意,您想要像这样访问的任何服务都必须在 Pod 本身启动之前创建,否则不会填充环境变量。

在 containers/POD 中,您可以使用指向该服务的 dns 名称。 基本上,文件 /etc/hosts 填充了 kube-dns edress。 您可以像这样使用它:

<svc-name>.<namespace>.svc.cluster.local

如果您必须需要 IP,可以使用 ENV Variablse 或仅 ping DNS 名称。