K8S通过Ingress,把K8S集群中的服务,通过Http和https路由暴露给外部用户。 路径等信息通过Ingress的资源文件配置。





1、一个K8S集群

2、一个集群Admin, 两个个K8S用户 UserA, UserB,通过Kubernets API访问集群。

3、两个业务用户, Clients A, ClientB通过Ingress访问AppA, AppB。

4、Ingress Controller(IC), 是 Admin部署在Niginx-ingress名字空间的Pod,通过ConfigMap配置。 IC可以是一个Pod,但是生产环境中,一般有多个Pod。

5、Public Endpoint, 是在IC前面的一个负载均衡(一般情况下是TCP层的负载均衡)+ NodePort服务,也就是说是个loadbalancer的service。



而在IC Pod里面:








https://docs.nginx.com/nginx-ingress-controller/intro/how-nginx-ingress-controller-works/