ngress是授权入站连接到达集群服务的规则集合。您可以给Ingress配置外部可访问的URL、 负载均衡 、SSL、基于名称的 虚拟主机 等。
Service是基于四层TCP和UDP协议转发的,而Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过 域名 和路径做到更细粒度的划分,如下图所示。
图1 Ingress-Service
要想使用Ingress功能,必须在Kubernetes集群上安装Ingress Controller。Ingress Controller有很多种实现,最常见的就是Kubernetes官方维护的NGINX Ingress Controller;不同厂商通常有自己的实现,例如华为云CCE使用华为云 弹性负载均衡 服务ELB实现Ingress的七层负载均衡。
外部请求首先到达Ingress Controller,Ingress Controller根据Ingress的路由规则,查找到对应的Service,进而通过Endpoint查询到Pod的IP地址,然后将请求转发给Pod。
图2 Ingress工作机制
链接:https://support.huaweicloud.com/basics-cce/kubernetes_0025.html
华为云推荐: