MSE Ingress作為Higress企業版,相容Nginx Ingress,比開源自建效能提升一倍,獲得信通院行業領先安全成熟度等級評級,具備低成本、安全、高整合和高可用的產品優勢。本文介紹如何通過MSE Ingress訪問Container Service和容器計算服務。
為了安全考慮,MSE Ingress禁止暴露kube-system命名空間下的服務。
前提條件
MSE Ingress Controller 支援在ACK 託管版,ACK Serverless和ACS 容器計算服務產品中安裝。
步驟一:安裝MSE Ingress Controller
ACK 託管版/ACK Serverless
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
ACS
登入容器計算服務控制台,在左側導覽列選擇叢集。
在叢集頁面,單擊目的地組群ID,然後在左側導覽列,選擇營運管理 > 組件管理。
在組件管理頁面的搜尋方塊中輸入
mse
搜尋,然後在MSE Ingress Controller組件卡片中單擊安裝。在安裝組件 MSE Ingress Controller對話方塊中進行參數配置,然後單擊確定。
ACK 託管版/ACK Serverless
將自動建立一個節點規格為 2c4g * 2 的隨用隨付專業版MSE雲原生網關執行個體,並按照指定的網路類型建立一個標準型I(slb.s2.small)的CLBServer Load Balancer執行個體。以上預設規格在建立完成後均可修改。
ACS
將自動建立一個Serverless版 MSE 雲原生網關執行個體,並按照指定的網路類型建立一個NLB Server Load Balancer執行個體。
如果在安裝組件的過程中出現前置檢查失敗,若是ACK 託管版/ACK Serverless產品請點擊此處為MSE Ingress Controller授權。若是ACS產品,請單擊此處為MSE Ingress Controller授權。
組件安裝成功之後,會預設為您建立名稱為
mse-ingress-pro/serverless-{clusterid}
的MseIngressConfig資源和名稱為mse的IngressClass資源。您可以在工作負載 > 自訂資源 >資來源物件瀏覽器 >API組中搜尋
mse
並查詢MseIngressConfig
的狀態。等待3~5分鐘後狀態為Listening,表示雲原生網關建立成功,處於運行狀態,並自動監聽叢集中IngressClass為mse的Ingress資源。說明MseIngressConfig會按照Pending > Running > Listening的狀態依次變化。各狀態說明如下:
Pending:表示雲原生網關正在建立中,需等待3min左右。
Running:表示雲原生網關建立成功,並處於運行狀態。
Listening:表示雲原生處於運行狀態,並監聽叢集中Ingress資源。
Failed:表示雲原生網關處於非法狀態,可以查看Status欄位中Message進一步明確原因。
重要建立模式下,安裝MSE Ingress Controller會預設建立一個MseIngressConfig資源,該資源的生命週期與MSE雲原生網關執行個體是綁定的。刪除MseIngressConfig資源會串聯刪除對應的MSE雲原生網關執行個體,請勿隨意刪除MseIngressConfig資源。
在安裝MSE Ingress Controller之前,如果叢集中已經存在了名稱為mse的IngressClass資源,則安裝MSE Ingress Controller不會自動建立MseIngressConfig資源和MSE雲原生網關執行個體。
登入MSE網關管理主控台,在對應的地區下可以看到名稱為
mse-ingress-pro/serverless-{clusterid}
的雲原生網關執行個體。
步驟二:部署後端服務
ACK 託管版/ACK Serverless
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
ACS
登入容器計算服務控制台,在左側導覽列選擇叢集。
在叢集頁面,單擊目的地組群ID,然後在左側導覽列,選擇
。
在無狀態頁面,單擊使用YAML建立資源。使用如下YAML部署一個名為httpbin的Deployment,以及一個名為httpbin的Service。
apiVersion: apps/v1 kind: Deployment metadata: name: httpbin namespace: default spec: replicas: 1 selector: matchLabels: app: httpbin template: metadata: labels: app: httpbin version: v1 spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/mse-ingress/go-httpbin args: - "--version=v1" imagePullPolicy: Always name: httpbin --- apiVersion: v1 kind: Service metadata: name: httpbin namespace: default spec: ports: - port: 8080 protocol: TCP selector: app: httpbin
步驟三:配置MSE Ingress
ACK 託管版/ACK Serverless
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
ACS
登入容器計算服務控制台,在左側導覽列選擇叢集。
在叢集頁面,單擊目的地組群ID,然後在左側導覽列,選擇網路 > 路由。
在路由頁面,單擊建立 Ingress。
在建立 Ingress對話方塊中,選擇網關類型為MSE Ingress並配置後端關聯的服務和註解等資訊,然後單擊確定。
其中Ingress Class為mse,配置路由為首碼匹配,路徑為
/
,轉寄請求到服務httpbin。登入MSE網關管理主控台。您可以在對應的雲原生網關執行個體中看到一個名稱中包含httpbin的路由。
步驟四:訪問服務
您可以通過以下兩種方式擷取網關IP地址。
ACK 託管版/ACK Serverless
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在路由頁面查看Ingress的端點資訊。
ACS
登入容器計算服務控制台,在左側導覽列選擇叢集。
在叢集頁面,單擊目的地組群ID,然後在左側導覽列,選擇網路 > 路由。
在路由頁面查看Ingress的端點資訊。
登入MSE網關管理主控台。在左側導覽列,選擇云原生网关 > 网关列表,單擊目標網關名稱。在您的MSE雲原生網關執行個體的基本概覽中查看SLB地址。
通過瀏覽器、cmd或者其他命令列工具訪問
SLB地址/version
測試服務。
相關文檔
關於MSE Ingress的介紹和工作原理請參閱MSE Ingress概覽。