Ingress基本概念
在Kubernetes集群中,Ingress作为管理集群内服务对外暴露的访问接入点的资源对象,负责承载大部分集群内服务访问流量。通过配置不同的转发规则,Ingress可以实现对集群内不同Service的访问控制和路由管理。
Nginx Ingress Controller
工作原理
Nginx Ingress资源依赖Nginx Ingress Controller组件,该组件用于解析和应用Ingress资源的转发规则。
当收到请求时,Nginx Ingress Controller会基于Ingress规则,匹配合适的Service服务,将请求以负载均衡的方式转发到Service服务对应的后端应用Pod。
当Ingress资源发生变更时,Nginx Ingress Controller会监听资源变更,动态的生成Nginx配置,然后重新加载Nginx来生成新的路由转发规则。
Nginx Ingress Controller可通过配置LoadBalancer类型的Service对外暴露,因此外部可以通过SLB访问到Kubernetes集群的内部服务。根据Nginx Ingress配置的不同规则来访问不同的服务。