标准答案
- Service 处理后端 Pod 的发现和转发,Ingress 根据域名、路径和 TLS 把外部 HTTP 流量路由到 Service。
- Ingress 对象本身通常只是声明,Controller 负责监听并配置实际代理或负载均衡器。
- 排查要确认 IngressClass、Controller 日志、地址、证书、规则匹配、Service、EndpointSlice 和后端探针。
- 非 HTTP 协议、超时、上传大小、WebSocket 和客户端真实 IP 要按 Controller 能力单独验证。
题目解析
Service 负责集群内后端发现和稳定访问,Ingress 是描述 HTTP/HTTPS 域名、路径和 TLS 入口的对象,真正执行规则的是 Ingress Controller。Ingress 访问链路通常还包含外部负载均衡、证书、代理超时、重试、上传限制和真实客户端地址处理。
排查要确认 IngressClass、Controller 监听和日志、地址、证书、规则匹配、Service 端口、EndpointSlice、NetworkPolicy 和后端探针。入口返回 200 也可能是代理层响应,必须验证应用实际收到的请求、协议和业务结果。
常见误区
- 误区:只创建 Ingress 不部署或选择 Controller。改正:确认 IngressClass、Controller 状态和实际生成的代理配置。
- 误区:把 Ingress 的端口当成 Pod 监听端口。改正:沿 Ingress -> Service -> targetPort -> Pod 逐层核对。