全部產品
Search
文件中心

Enterprise Distributed Application Service:建立應用路由(Nginx Ingress)

更新時間:Jun 30, 2024

EDAS的Ingress是用於將外部HTTP/HTTPS流量路由到內部Service的路由規則集合。您可以通過配置不同的應用路由(K8s Ingress),從而根據不同的路由轉寄規則訪問叢集內不同的Service。本文介紹在EDAS控制台如何配置應用路由和轉寄規則。

前提條件

添加服務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是一個反向 Proxy程式,負責解析Ingress路由規則,根據規則將HTTP/HTTPS流量路由轉寄到對應的Service。
Service、Ingress與Ingress Controller關係導圖

應用路由配置約束(適用於K8s叢集)

不能修改EDAS建立的Ingress資源(含有以下標籤:edas-domain: edas-adminedas-domain)。

操作步驟

  1. 登入EDAS控制台,在左側導覽列,單擊流量管理 > 應用路由 > Ingress路由
  2. 應用路由(K8s Ingress)頁面頂部功能表列選擇地區,在頁面中選擇目標微服務空間
  3. 應用路由(K8s Ingress)頁面中單擊建立Nginx Ingress
  4. 建立Nginx Ingress面板中,選擇K8s叢集K8s命名空間並設定應用路由名稱,單擊添加轉寄規則並設定規則相關參數,然後單擊確定
    添加應用路由
    參數描述
    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認證儲存到保密字典,請單擊建立密鑰。建立保密字典的具體操作,請參見建立保密字典

    建立完成後,建立的應用路由出現在應用路由列表。您可以對其進行查看詳情、變更路由規則資訊和刪除應用路由,以及查看應用路由的監控詳情。

結果驗證

您可在瀏覽器中訪問路由規則中的網域名稱/路徑,查看能否訪問到Service對應的後端服務。