日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Ingress概述

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

在Kubernetes集群中,Ingress對集群服務(Service)中外部可訪問的API對象進行管理,提供七層負載均衡能力。本文介紹Ingress基本概念、工作原理和使用說明。

索引

Ingress基本概念

在Kubernetes集群中,Ingress作為集群內服務對外暴露的訪問接入點,幾乎承載著集群內服務訪問的所有流量。Ingress是Kubernetes中的一個資源對象,用來管理集群外部訪問集群內部服務的方式。您可以通過Ingress資源來配置不同的轉發規則,從而實現根據不同的規則設置訪問集群內不同的Service所對應的后端Pod。

Ingress資源僅支持配置HTTP流量的規則,無法配置一些高級特性,例如負載均衡的算法、Sessions Affinity等,這些高級特性都需要在Ingress Controller中進行配置。

Nginx Ingress Controller

當前Kubernetes官方維護的是Nginx Ingress Controller,ACK基于社區版的Nginx Ingress Controller進行了優化。ACK的Nginx Ingress Controller與社區Nginx Ingress Controller完全兼容,支持社區所有的Annotation。您在ACK集群或ACK Serverless集群中選擇安裝的Nginx Ingress Controller組件,即為定制版的Nginx Ingress Controller組件。關于如何安裝Nginx Ingress Controller組件,請參見安裝Nginx Ingress Controller組件

工作原理

為了使得Nginx Ingress資源正常工作,集群中必須要有一個Nginx Ingress Controller來解析Nginx Ingress的轉發規則。Nginx Ingress Controller收到請求,匹配Nginx Ingress轉發規則轉發到后端Service所對應的Pod,由Pod處理請求。Kubernetes中的Service、Nginx Ingress與Nginx Ingress Controller有著以下關系:

  • Service是后端真實服務的抽象,一個Service可以代表多個相同的后端服務。

  • Nginx Ingress是反向代理規則,用來規定HTTP/HTTPS請求應該被轉發到哪個Service所對應的Pod上。例如根據請求中不同的Host和URL路徑,讓請求落到不同的Service所對應的Pod上。

  • Nginx Ingress Controller是Kubernetes集群中的一個組件,負責解析Nginx Ingress的反向代理規則。如果Nginx Ingress有增刪改的變動,Nginx Ingress Controller會及時更新自己相應的轉發規則,當Nginx Ingress Controller收到請求后就會根據這些規則將請求轉發到對應Service的Pod上。

Nginx Ingress Controller通過API Server獲取Ingress資源的變化,動態地生成Load Balancer(例如Nginx)所需的配置文件(例如nginx.conf),然后重新加載Load Balancer(例如執行nginx -s reload重新加載Nginx)來生成新的路由轉發規則。S2

Nginx Ingress Controller可通過配置LoadBalancer類型的Service來創建SLB,因此可以從外部通過SLB訪問到Kubernetes集群的內部服務。根據Nginx Ingress配置的不同規則來訪問不同的服務。

Nginx Ingress相關文檔

ALB Ingress Controller

ALB Ingress基于阿里云應用型負載均衡ALB(Application Load Balancer)之上提供更為強大的Ingress流量管理方式,兼容Nginx Ingress,具備處理復雜業務路由和證書自動發現的能力,支持HTTP、HTTPS和QUIC協議,完全滿足在云原生應用場景下對超強彈性和大規模七層流量處理能力的需求。

警告

為Ingress服務的ALB是由Controller完全托管的,您不能自行在ALB控制臺上面進行配置,否則可能造成Ingress服務的異常。關于ALB額度的更多信息,請參見使用限制

工作原理

ALB Ingress Controller通過API Server獲取Ingress資源的變化,動態地生成AlbConfig,然后依次創建ALB實例、監聽、路由轉發規則以及后端服務器組。Kubernetes中Service、Ingress與AlbConfig有著以下關系:

  • Service是后端真實服務的抽象,一個Service可以代表多個相同的后端服務。
  • Ingress是反向代理規則,用來規定HTTP/HTTPS請求應該被轉發到哪個Service上。例如,根據請求中不同的Host和URL路徑,讓請求轉發到不同的Service上。
  • AlbConfig是在ALB Ingress Controller提供的CRD資源,使用AlbConfig CRD來配置ALB實例和監聽。一個AlbConfig對應一個ALB實例。

ALB Ingress

ALB Ingress相關文檔

MSE Ingress Controller

MSE Ingress是在MSE云原生網關之上提供更為強大的Ingress流量管理方式,兼容Nginx Ingress以及50多個Nginx Ingress的注解,覆蓋90%以上的Nginx Ingress業務場景,支持多服務版本同時灰度發布、靈活的服務治理能力以及全方位的安全防護保障,能夠滿足大規模云原生分布式應用的流量治理訴求。

功能介紹

更多關于MSE Ingress云原生網關的功能介紹,請參見:

工作原理

組成部分

  • MSE Ingress Controller

    MSE Ingress Controller本身不是網絡數據平面,它是管理MSE云原生網關實例以及配置的控制平面。即MSE Ingress Controller不處理任何業務請求流量,它位于流量旁路,管理著處理業務流量的MSE云原生網關實例。

    您需要在ACK或者ACK Serverless集群中安裝MSE Ingress Controller,通過使用該組件提供的MseIngressConfig的CRD資源以聲明式配置的方式來管理云原生網關實例,以及設置網關對Ingress資源的監聽選項。

    關于如何安裝MSE Ingress Controller組件,請參見管理組件

  • MSE云原生網關:由MSE Ingress Controller根據用戶配置的MseIngressConfig資源創建,包含控制面(Control Plane)和數據面(Data Plane)。

    • 控制面(Control Plane):控制面監聽您已關聯的ACK集群中的Ingress、IngressClass、Service等資源,經內部解析之后實時下發給網關數據面。

    • 數據面(Data Plane): 數據面是流量治理配置的實施者,按照控制面下發的治理規則處理外部請求,并轉發到后端目標服務。

工作機制

MSE Ingress Controller負責監聽集群中創建的MseIngressConfig資源,實時動態維護該資源對應的云原生網關實例的生命周期以及該網關與ACK集群的關聯關系。

MSE云原生網關的控制面通過關聯的ACK集群的API Server獲取Ingress資源的變化,然后動態更新MSE云原生網關的路由規則。當MSE云原生網關收到請求時,匹配Ingress轉發規則將請求轉發到后端Service所對應的Pod。

Kubernetes中Service、Ingress、IngressClass、MseIngressConfig和MSE Ingress Controller存在以下關系:

  • Service:是后端真實服務的抽象,一個Service可以代表多個相同的后端服務。

  • Ingress:是反向代理規則,用來規定HTTP和HTTPS請求應該被轉發到哪個Service上。例如,根據請求中不同的Host和URL路徑,使請求轉發到不同的Service上。

  • IngressClass:是Ingress處理器的描述,用于在K8s集群中聲明一個Ingress處理器實現,關聯該IngressClass的Ingress資源會被該Ingress處理器解析。此外,需要通過IngressClass的Parameter字段關聯一個MseIngressConfig(MSE云原生網關),用于實施被解析的Ingress資源描述的流量管理規則。

  • MseIngressConfig:是由MSE Ingress Controller提供的CRD,用于描述云原生網關實例的基本信息。

  • MSE Ingress Controller:本身不是網絡數據平面,它是管理MSE云原生網關實例以及配置的控制平面。MSE Ingress Controller負責監聽集群中的MseIngressConfig資源,協調MSE云原生網關實例用于實施Ingress資源描述的流量管理規則。

下圖是MSE Ingress Controller工作示意圖。

ingress的應用場景