我正在使用集群 IP 类型的 Kubernetes 服务,它将公开一个部署。在我的容器中,我想使用服务 IP(集群 IP)。有什么方法可以获取 Pod/容器内的 IP 地址吗?
是否可以从服务名称中获取集群 IP?
我正在使用集群 IP 类型的 Kubernetes 服务,它将公开一个部署。在我的容器中,我想使用服务 IP(集群 IP)。有什么方法可以获取 Pod/容器内的 IP 地址吗?
是否可以从服务名称中获取集群 IP?
是的,通过环境级服务发现机制。但是请注意,您要像这样访问的任何服务都必须在 pod 本身启动之前创建,否则不会填充环境变量。
在容器/POD 中,您可以使用引用服务的 dns 名称。基本上,该文件/etc/hosts
是用 kube-dns edress 填充的。你可以像这样使用它:
<svc-name>.<namespace>.svc.cluster.local
如果您必须需要 IP,您可以使用ENV Variblse或仅 ping DNS 名称。