
作者 | 元毅 阿里云智能事業群高級開發工程師
當前 Knative 中默認支持是基于域名的轉發,可以通過域名模板配置后綴,但目前對于用戶來說并不能指定全域名設定,另外一個問題就是基于 Path 和 Header 轉發的能力,很多情況下我們使用相同的域名,不同服務通過訪問路徑進行區分,
針對上述這兩個問題,我們在阿里云 Knative 中提供了這樣的能力,用戶可以通過控制臺配置自定義域名,并基于 Path 和 Header 進行路由轉發設定,如圖所示:

自定義域名
登錄阿里云容器服務控制臺,進入【Knative】-【組件管理】,點擊 Serving 組件【詳情】,

進入詳情之后,選擇域名配置,添加自定義域名:【test.serverless.kuberun.com】,點擊 【確定】進行保存,

配置路由轉發
進入【Knative】-【服務管理】控制臺,選擇對應的服務,這里我們對 Login-Service 服務 以及 Search-Service 服務分別設定不同的 Path 進行訪問,
Login-Service 服務路由轉發配置
選擇 Login-Service 服務, 選擇【路由轉發】頁簽,點擊【配置】, 選擇【test.serverless.kuberun.com】域名,配置路徑:/login,點擊【確定】進行保存,

接下來繼續配置 Search-Service 服務路由規則,
Search-Service 服務路由轉發配置
選擇 Search-Service 服務, 選擇【路由轉發】頁簽,點擊【配置】, 選擇【test.serverless.kuberun.com】域名,配置路徑:/search,點擊【確定】進行保存,

服務訪問
以上路由轉發配置完成之后,我們開始測驗一下服務訪問:
在瀏覽器中輸入:http://test.serverless.kuberun.com/login,可以看到輸出:Hello Login Service!

在瀏覽器中輸入:http://test.serverless.kuberun.com/search,可以看到輸出:Hello Search Service!

基于 Path + Header 進行路由轉發
選擇 Login-Service 服務, 選擇【路由轉發】頁簽,點擊 配置,這里我們加上 Header 配置:foo=bar,點擊【確定】進行保存,

訪問 http://test.serverless.kuberun.com/login,發現服務 404 不可訪問,

說明基于 Header 是生效的,下面我們在訪問請求中通過 ModHeader 插件配置上Header:foo=bar.

配置完成之后,我們再一次訪問服務:http://test.serverless.kuberun.com/login,

服務訪問 OK,這樣我們就完成了基于 Path + Header 路由轉發配置,
小結
通過阿里云 Knative 控制臺讓你更輕松、快捷的實作自定義域名及路由規則,以打造生產可用的服務訪問,歡迎對 Knative 感興趣的一起交流,
歡迎加入 Knative 交流群

“ 阿里巴巴云原生微信公眾號(ID:Alicloudnative)關注微服務、Serverless、容器、Service Mesh等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術公眾號,”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/178336.html
標籤:其他
上一篇:Just 5分鐘!使用k3s部署輕量Kubernetes集群快速教程
下一篇:云平臺內部網路資源整合技術
