Ingress简介
ingress是k8s中的一个七层的负载均衡,可以把流量路由到service。
如果没有ingress,我们可以通过外部的nginx、haproxy等也可以实现七层负载均衡,但是配置nginx比较麻烦,因为想要配置nginx的upstream必须先查询service的ip,那如果使用service的name,还要维护一个dns;如果想要换成haproxy,成本也比较高。而有了ingress,实际上就是把nginx等七层负载均衡集成到了k8s中,配置就更加简单也更加通用。
它的工作原理是ingress服务作为流量的入口,收到请求后,根据host、path等规则,匹配到对应的service和端口,然后把流量转发到service的端口,service再转发流量给pod。
参考文档: