EDAS的Ingress是用于將外部HTTP/HTTPS流量路由到內部Service的路由規則集合。您可以通過配置不同的應用路由(K8s Ingress),從而根據不同的路由轉發規則訪問集群內不同的Service。本文介紹在EDAS控制臺如何配置應用路由和轉發規則。
視頻教程
前提條件
已添加服務Service。具體操作,請參見添加服務Service。
背景信息
創建K8s集群時默認安裝了Ingress Controller組件。K8s集群中的Ingress Controller用于解析Ingress的路由轉發規則。Ingress Controller收到請求,匹配Ingress轉發規則并轉發到后端Service,Service轉發到Pod,最終由Pod處理請求。
Service、Ingress與Ingress Controller有著以下關系:
- Service是后端真實服務的抽象,一個Service可以代表多個相同的后端服務。
- Ingress是用于將外部HTTP/HTTPS流量路由到內部Service的路由規則集合。
- Ingress Controller是一個反向代理程序,負責解析Ingress路由規則,根據規則將HTTP/HTTPS流量路由轉發到對應的Service。
應用路由配置約束(適用于K8s集群)
不能修改EDAS創建的Ingress資源(含有以下標簽:edas-domain: edas-admin
、edas-domain
)。
操作步驟
- 登錄EDAS控制臺,在左側導航欄,單擊 。
- 在應用路由(K8s Ingress)頁面頂部菜單欄選擇地域,在頁面中選擇目標微服務空間。
- 在應用路由(K8s Ingress)頁面中單擊創建Ingress。
- 在創建Nginx Ingress面板中,設置規則相關參數,然后單擊確定。
配置項 描述 類型 選擇Nginx Ingress。 K8s集群 從下拉列表中選擇目標K8s集群。 K8s命名空間 K8s命名空間通過將系統內部的對象分配到不同的命名空間中,形成邏輯上分組的不同項目、小組或用戶組,便于不同的分組在共享使用整個集群的資源的同時還能被分別管理。 - default:沒有其他命名空間的對象的默認命名空間。
- kube-system:系統創建的對象的命名空間。
- kube-public:此命名空間是自動創建的,并且可供所有用戶(包括未經過身份驗證的用戶)讀取。
此處以選擇default為例。
應用路由名稱 自定義設置路由名稱,在同一個命名空間下應用路由名稱必須唯一。 支持小寫字母、數字和短劃線(-),且必須以字母開頭,字母或數字結尾。
重定向至HTTPS 打開重定向至HTTPS開關,表示用HTTP協議訪問時會重定向到HTTPS協議。 轉發規則 說明 在添加應用路由時,您需要了解以下幾點:- 在同一個應用路由下,可以創建多個路由規則:
- 相同域名和路徑的組合,只能對應一個Service。
- 同一個Service,可以對應多個域名和路徑組合。
- 在不同應用路由下,可以創建完全相同的路由規則。
域名 指定訪問域名。 路徑 指定訪問路徑,必須以正斜線(/)開頭。 應用 從下拉列表中選擇當前K8s集群中的目標應用。 服務名稱 從下拉列表中選擇當前應用的目標服務Service。 服務端口 服務Service的服務端口。 高級選項 展開高級選項,您可設置采樣率。 說明- 采樣率:EDAS支持為匹配到Ingress路由規則的請求提供鏈路追蹤能力,在Ingress監控頁面的日志分析面板中可以查詢到訪問日志中注入的ARMS TraceId,并能夠聯動ARMS鏈路追蹤進行請求異常分析。
- 采樣率表示ARMS鏈路追蹤采樣百分比,取值范圍為0~100,默認為0,其中100表示每個請求都會被采集。
- 配額說明:
- EDAS標準版最多僅允許配置5條采樣率大于10的路由規則。
- EDAS專業版及鉑金版沒有采樣率配額限制。
開啟TLS 選中開啟TLS,即代表允許外部HTTPS請求路由到內部Service的路由規則集合。 如果允許外部HTTPS請求,還需要設置TLS證書。在Secret列表中選擇TLS證書類型的保密字典,如果您還沒有將HTTPS證書保存到保密字典,請單擊新建密鑰。創建保密字典的具體操作,請參見創建保密字典。
注解 為Ingress添加注解鍵值對。 - 自定義注解:為Ingress添加自定義的注解鍵值對。
- Ingress-Nginx注解:選擇社區版本Nginx Ingress支持的Annotations配置Ingress。
標簽 為Ingress添加標簽鍵值對。使用標簽便于對已配置特定標簽的Ingress進行分組管理。 創建完成后,新建的應用路由出現在應用路由列表,您可以查看詳情、變更路由規則信息、刪除應用路由,以及查看應用路由的監控詳情。
結果驗證
您可在瀏覽器中訪問路由規則中的域名/路徑,查看能否訪問到Service對應的后端服務。