新装集群最常见的坑之一:Deployment 副本全绿,浏览器/下游却访问 Service 无响应——忘了建 Service、selector 打错、或 DNS/kube-proxy 半残。
Kubernetes《Debug Services》说明:Service 工作异常时,可在集群内用交互 busybox Pod(或 kubectl exec)观察「Pod 视角」。建议先确认 Pod 本身在监听端口可用(直连 Pod IP:容器端口)。接着核对 Service 是否真的存在(未创建时按名访问会 DNS 失败)。创建后检查是否有 NetworkPolicy Ingress 影响目标 Pod。再测 DNS 名是否解析到 Service;若本 Service DNS 失败,可对照集群 DNS Service(如 kube-dns)是否可解析,必要时转排 DNS。DNS 正常后再测 Service ClusterIP;核对 spec.ports 是否包含访问端口、targetPort 是否对应 Pod、数值端口勿误写成字符串、命名端口是否与 Pod 声明同名、protocol 是否正确。随后用 `kubectl get endpointslices -l kubernetes.io/service-name=...` 确认 EndpointSlice 是否选中 Pod;ENDPOINTS 为 `<none>` 时检查 Service selector 与 Pod labels(常见笔误如 app= 与 run=)。仍不通则怀疑 Service 代理:多数集群用 kube-proxy,需确认节点上进程在跑、日志与 iptables/IPVS 同步;若集群不用 kube-proxy 则按其自有实现排查。本场景据此输出分层清单。禁止声称「已修复 Service」。