MSE Ingress作為Higress企業版,兼容Nginx Ingress,比開源自建性能提升一倍,獲得信通院行業領先安全成熟度評級,具備低成本、安全、高集成和高可用的產品優勢。本文介紹如何通過MSE Ingress訪問容器服務和容器計算服務。
為了安全考慮,MSE Ingress禁止暴露kube-system命名空間下的服務。
前提條件
MSE Ingress Controller 支持在ACK 托管版,ACK Serverless和ACS 容器計算服務產品中安裝。
視頻教程
步驟一:安裝MSE Ingress Controller
ACK 托管版/ACK Serverless
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
ACS
登錄容器計算服務控制臺,在左側導航欄選擇集群。
在集群頁面,單擊目標集群ID,然后在左側導航欄,選擇運維管理 > 組件管理。
在組件管理頁面的搜索框中輸入
mse
搜索,然后在MSE Ingress Controller組件卡片中單擊安裝。在安裝組件 MSE Ingress Controller對話框中進行參數配置,然后單擊確定。
ACK 托管版/ACK Serverless
將自動創建一個節點規格為 2c4g * 2 的按量付費專業版MSE云原生網關實例,并按照指定的網絡類型創建一個標準型I(slb.s2.small)的CLB負載均衡實例。以上默認規格在創建完成后均可修改。
ACS
將自動創建一個Serverless版 MSE 云原生網關實例,并按照指定的網絡類型創建一個NLB 負載均衡實例。
如果在安裝組件的過程中出現前置檢查失敗,若是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
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
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
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
ACS
登錄容器計算服務控制臺,在左側導航欄選擇集群。
在集群頁面,單擊目標集群ID,然后在左側導航欄,選擇網絡 > 路由。
在路由頁面,單擊創建 Ingress。
在創建 Ingress對話框中,選擇網關類型為MSE Ingress并配置后端關聯的服務和注解等信息,然后單擊確定。
其中Ingress Class為mse,配置路由為前綴匹配,路徑為
/
,轉發請求到服務httpbin。登錄MSE網關管理控制臺。您可以在對應的云原生網關實例中看到一個名稱中包含httpbin的路由。
步驟四:訪問服務
您可以通過以下兩種方式獲取網關IP地址。
ACK 托管版/ACK Serverless
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在路由頁面查看Ingress的端點信息。
ACS
登錄容器計算服務控制臺,在左側導航欄選擇集群。
在集群頁面,單擊目標集群ID,然后在左側導航欄,選擇網絡 > 路由。
在路由頁面查看Ingress的端點信息。
登錄MSE網關管理控制臺。在左側導航欄,選擇云原生網關 > 網關列表,單擊目標網關名稱。在您的MSE云原生網關實例的基本概覽中查看SLB地址。
通過瀏覽器、cmd或者其他命令行工具訪問
SLB地址/version
測試服務。
相關文檔
關于MSE Ingress的介紹和工作原理請參閱MSE Ingress概覽。