You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx-Ingress-Controller持续处于“Scheduled for sync”状态问题排查

问题排查思路与解决方案

1. IngressClass 关联不匹配

你提到之前在其他命名空间用了不同IngressClass部署Ingress,说明集群里大概率存在多个Ingress Controller实例——每个控制器只会处理绑定了对应IngressClass的Ingress资源。

  • 先查集群里的IngressClass列表:kubectl get ingressclass,确认nginx这个IngressClass是否存在。
  • 再看该IngressClass的详情:kubectl describe ingressclass nginx,检查spec.controller字段是否和你的Nginx Ingress Controller的控制器名一致(通常是k8s.io/ingress-nginx)。
    如果nginx这个IngressClass不存在,或者控制器字段不匹配,你的Ingress会因找不到对应的处理控制器,一直处于等待同步状态。

2. TLS 配置缺失导致同步阻塞

你的Ingress加了nginx.ingress.kubernetes.io/ssl-redirect: "true"注释,但spec里完全没定义TLS证书配置。部分Nginx Ingress Controller在开启强制HTTPS跳转却没有提供证书时,会无法完成Ingress规则的同步——因为控制器不知道用什么证书处理HTTPS请求。
解决方式二选一:

  • 如果不需要HTTPS跳转,把该注释改成"false";
  • 如果需要HTTPS,补充TLS配置,示例如下:
    spec:
      tls:
      - hosts:
        - mysite.com
        secretName: mysite-tls-secret
    
    注意要确保mysite-tls-secret这个证书Secret已经在当前命名空间存在。

3. 后端Service的可用性问题

就算Ingress同步完成,404也可能是后端Service没正确关联到可用的Pod:

  • 执行kubectl describe service myservice,查看Endpoints字段是否有就绪的Pod IP(如果是空的,说明Service没绑定到运行中的Pod);
  • 执行kubectl get pods,确认关联的Pod是否处于Running状态,且就绪探针正常通过。

内容的提问来源于stack exchange,提问作者Rodrigo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 12:15:26