Ingress

ngress是授權(quán)入站連接到達(dá)集群服務(wù)的規(guī)則集合。您可以給Ingress配置外部可訪問(wèn)的URL、 負(fù)載均衡 、SSL、基于名稱的 虛擬主機(jī) 等。

Service是基于四層TCP和UDP協(xié)議轉(zhuǎn)發(fā)的,而Ingress可以基于七層的HTTP和HTTPS協(xié)議轉(zhuǎn)發(fā),可以通過(guò)域名和路徑做到更細(xì)粒度的劃分,如下圖所示。

圖1 Ingress-Service

Ingress-Service

要想使用Ingress功能,必須在Kubernetes集群上安裝Ingress Controller。Ingress Controller有很多種實(shí)現(xiàn),最常見(jiàn)的就是Kubernetes官方維護(hù)的NGINX Ingress Controller;不同廠商通常有自己的實(shí)現(xiàn),例如華為云CCE使用華為云 彈性負(fù)載均衡 服務(wù)ELB實(shí)現(xiàn)Ingress的七層負(fù)載均衡。

外部請(qǐng)求首先到達(dá)Ingress Controller,Ingress Controller根據(jù)Ingress的路由規(guī)則,查找到對(duì)應(yīng)的Service,進(jìn)而通過(guò)Endpoint查詢到Pod的IP地址,然后將請(qǐng)求轉(zhuǎn)發(fā)給Pod。

圖2 Ingress工作機(jī)制

Ingress工作機(jī)制

鏈接:https://support.huaweicloud.com/basics-cce/kubernetes_0025.html

華為云推薦

云容器實(shí)例https://support.huaweicloud.com/cci/index.html

云容器引擎:https://support.huaweicloud.com/cce/index.html