Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由。流量路由由 Ingress 资源上定义的规则控制。
理论链接
1、ingress-controller通过和 kubernetes APIServer交互,动态的去感知集群中ingress规则变化;
2、然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个service,生成一段nginx配置;
3、再写到nginx-ingress-controller的pod里,这个ingres-controller的pod里运行着一个Nginx服务,控制器会把生成的nginx置写入/etc/nginx.conf文件中;
4、然后reload一下使配置生效。以此达到域名区分配置和动态更新的作用。
客户端一般会把请求发送到负载均衡器上由负载均衡器转发到ingress控制
所在的node节点上目的减小Node节点的负载压力
ingress控制器会根据ingress资源对象的配置转发请求到对应的service
service会根据端点,把请求转发到关联的Pod