Skip to content

1.Ingress 资源更新后,外部访问未按预期生效

1.1 问题点

修改或新增 Ingress 资源后,外部客户端通过 Ingress 的域名访问服务时,路由规则、TLS 配置等未按预期更新

影响范围:

  • 直接影响:外部客户端无法访问到最新部署的服务,或访问行为不符合更新后的 Ingress 规则。
  • 间接影响:可能影响用户体验、业务流程或数据一致性,特别是在进行版本升级、功能切换等重要变更时

1.2 排查方法

  1. 确认 Ingress 更新状态:使用 kubectl get ingress <ingress-name> -o yaml 查看 Ingress 资源的最新配置,确认更新已生效。
  2. 检查 Ingress Controller 日志:查看负责处理 Ingress 的控制器(如 Nginx Ingress Controller、Traefik 等)的日志,查找与 Ingress 更新相关的事件和错误。
  3. 测试内部服务访问:使用 kubectl exec 进入集群内其他 Pod,通过 ClusterIP 或 NodePort 直接访问服务,验证服务本身是否正常。
  4. 清理缓存或等待传播:如果涉及 DNS 缓存问题,可能需要等待 DNS 记录在全球范围内更新,或者在客户端手动清理 DNS 缓存后再试。
  5. 检查负载均衡器配置:对于云服务商托管的 LoadBalancer 类型 Ingress,检查云平台控制台中负载均衡器的配置是否已同步更新