https://kubernetes.io/cn/docs/concepts/services-networking/dns-pod-service/#%E4%BB%8B%E7%BB%8D
Service
A 记录
“正常” Service(除了 Headless Service)会以 my-svc.my-namespace.svc.cluster.local 这种名字的形式被指派一个 DNS A 记录。这会解析成该 Service 的 Cluster IP。
“Headless” Service(没有Cluster IP)也会以 my-svc.my-namespace.svc.cluster.local 这种名字的形式被指派一个 DNS A 记录。 不像正常 Service,它会解析成该 Service 选择的一组 Pod 的 IP。 希望客户端能够使用这一组 IP,否则就使用标准的 round-robin 策略从这一组 IP 中进行选择。
Pod
A 记录
如果启用,Pod 会以 pod-ip-address.my-namespace.pod.cluster.local 这种形式被指派一个 DNS A 记录。
例如,default Namespace 具有 DNS 名字 cluster.local,在该 Namespace 中一个 IP 为 1.2.3.4 的 Pod 将具有一个条目:1-2-3-4.default.pod.cluster.local。
本文深入探讨了Kubernetes集群内的DNS解析机制,包括Service和Pod级别的A记录分配原理。对于'正常'Service,DNS A记录指向其ClusterIP;而对于'Headless'Service,则直接指向所选Pod的IP地址,实现客户端的轮询策略。此外,还介绍了如何为Pod分配DNS A记录,以及Pod IP地址如何映射到特定的DNS名称。

被折叠的 条评论
为什么被折叠?



