當您的容器服務中的應用需要通過外部訪問時,可以通過創建HTTP API并配置路由,實現應用的互聯網訪問。本文以容器服務ACK為例,介紹如何通過云原生API網關實現微服務的外部訪問。
前提條件
部署微服務demo至容器服務ACK。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 無狀態。
在無狀態頁面右上角單擊使用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
在無狀態頁面單擊所創建的httpbin,如下圖所示的狀態表示應用部署成功。
方案概覽
通過創建云原生API網關實例,將云原生API網關與需要暴露的容器服務進行關聯,在網關中設置API的路由規則,確保請求能夠正確地路由到對應的容器服務,配置完成后,客戶端即可通過API網關訪問容器中的應用。
步驟一:新建云原生API網關實例
登錄云原生API網關控制臺。如果您是首次使用云原生API網關,您需要進行如下操作:
說明首次訪問云原生API網關時,系統將自動提示授權創建服務關聯角色。
在頁面中單擊立即授權,并在彈出的提示框中單擊確定完成創建。
單擊立即體驗云原生API網關進入控制臺。
在左側導航欄,選擇實例,并在頂部菜單欄選擇地域,單擊創建實例。
重要云原生API網關的地域與容器服務ACK所在地域保持一致。
在云原生API網關購買頁面中選擇相關配置,然后單擊立即購買。
在確認訂單頁面中,勾選服務協議我已閱讀并同意云原生API網關(按量付費)服務協議,單擊立即開通。
說明網關實例創建過程可能需要2~3分鐘時間,請您耐心等待。
單擊管理控制臺,并選擇返回實例頁面,查看創建的網關信息和狀態。
當網關信息和創建時一致,且狀態為運行中,則表示網關創建成功。
步驟二:創建HTTP API
在左側導航欄的API頁面中,單擊創建API。
單擊HTTP API卡片中的創建按鈕,在創建HTTP API面板中配置API名稱進行創建。
步驟三:創建路由
在左側導航欄的API頁面中,單擊目標API名稱。
單擊創建路由,在創建路由面板,配置相關參數。
配置路由基本信息
域名:您可以直接單擊右側的添加域名,在添加域名面板中創建。
路徑(Path):匹配Path參數以
/
開頭的HTTP請求。
關聯環境/網關/VPC。
在創建網關實例時,系統將自動創建默認環境關聯相關實例,此處也可使用默認環境進行關聯。
從環境/網關/VPC列表中選擇步驟一中創建的網關實例及系統自動為您創建的默認環境。
(可選)如果您不想使用默認環境,可單擊環境/網關/VPC配置項后方的創建環境,自定義環境創建:所屬實例請選擇步驟一創建好的實例。
使用場景:使用場景列表中選擇單服務。
關聯服務
在后端服務配置項中的服務名稱列表中單擊關聯服務。
創建服務來源與服務。
選擇來源類型為容器服務。
單擊添加來源,選擇前提條件中創建的集群。
在服務列表中選擇服務
httpbin
,單擊確定。在后端服務配置項中的服務名稱下拉列表中選擇上一步中創建的服務。
單擊保存并發布。
步驟四:路由調試
在左側導航欄的API頁面中,單擊目標API名稱。
在路由列表中,單擊目標路由
httpbin-demo
操作列下的調試,進入調試頁面。接口參數輸入version,單擊發送,可看到服務接口的返回結果如下所示。
相關文檔
當您需要管理多個ACK集群,可參見通過云原生API網關管理多個ACK集群。
當您在使用云原生API網關時遇到問題,可以查看常見問題。