Ingress Controller是Kubernetes集群中管理外部流量的核心组件,其工作原理可分为三个层级:
- 流量入口:通过部署LoadBalancer或NodePort类型的Service暴露Ingress Controller Pod,接收外部HTTP/HTTPS请求。云平台(如AWS/GCP)通常自动关联云负载均衡器。
- 规则解析:持续监听Kubernetes API,动态获取Ingress资源中定义的路由规则(主机名、路径匹配、TLS证书等),实时更新代理配置(如Nginx/Traefik)。
- 流量分发:根据匹配规则将请求转发至对应Service,最终通过Endpoints选择健康Pod。支持负载均衡算法、连接池管理、熔断等特性,同时处理SSL终止、路径重写等高级流量控制。