首页/云/云与容器速查/Ingress Controller 与 IngressClass
Kubernetes68 条

Ingress Controller 与 IngressClass

Ingress 的实际实现:监听 Ingress 对象并生成反向代理配置。集群里通常只装一种主 controller;ingressClassName 用来在多个 controller 间分配规则。

云与容器速查云更新于 2026-10-12
部署形态通常以 Deployment/DaemonSet + Service(LB/NodePort)运行
入口controller 的 Service 拿到外部 IP/端口,才是真实入口
IngressClass声明实现类;Ingress 通过 ingressClassName 关联
默认类可设默认 IngressClass,省略 className 时自动使用
常见实现ingress-nginx、Traefik、云厂商 LB Controller

查看与验证

查看与验证
kubectl get pods -n ingress-nginx
kubectl get ingressclass
kubectl get svc -n ingress-nginx ingress-nginx-controller
kubectl describe ingress web | tail -10
接入链路要按层排查:LB/NodePort → controller → Ingress 规则 → Service → Endpoints → Pod,任一层断掉都表现为 404/502/超时。

易错点

  • Ingress 规则没问题但 404:请求没进到该 controller(类不匹配/入口 IP 不对)
  • 集群装了两套 controller:className 没写的规则归属不明,行为随机

数据来源与参考

  • Kubernetes Docs:Ingress Controllers
  • ingress-nginx 文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌