对比
| 维度 | ClusterIP | Headless |
|---|---|---|
| DNS 返回 | 虚拟 IP 一个 | 就绪 Pod IP 列表(A 记录) |
| 转发方式 | kube-proxy 规则做四层转发 | 客户端直连某个 Pod |
| 典型场景 | 无状态服务统一入口 | 有状态集群互相发现、自定义负载均衡 |
| 负载均衡 | 由 kube-proxy 随机/轮询 | 客户端自行实现 |
创建与验证
创建与验证
kubectl get svc db-headless -o jsonpath='{.spec.clusterIP}'
kubectl run dns-test --rm -it --image=busybox:1.36 --restart=Never -- nslookup db-headless.prod.svc.cluster.localHeadless 不分配虚拟 IP:spec.clusterIP 只能写 None;需要统一入口时用普通 ClusterIP Service。