Knative 實戰:如何在 Knative 中配置自定義域名及路由規則

  • 2019 年 11 月 1 日
  • 筆記

file

作者 | 元毅 阿里雲智慧事業群高級開發工程師

當前 Knative 中默認支援是基於域名的轉發,可以通過域名模板配置後綴,但目前對於用戶來說並不能指定全域名設置。另外一個問題就是基於 Path 和 Header 轉發的能力,很多情況下我們使用相同的域名,不同服務通過訪問路徑進行區分。

針對上述這兩個問題,我們在阿里雲 Knative 中提供了這樣的能力,用戶可以通過控制台配置自定義域名,並基於 Path 和 Header 進行路由轉發設置。如圖所示:

file

自定義域名

登錄阿里雲容器服務控制台,進入【Knative】-【組件管理】,點擊 Serving 組件【詳情】。

file

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

file

配置路由轉發

進入【Knative】-【服務管理】控制台,選擇對應的服務。這裡我們對 Login-Service 服務 以及 Search-Service 服務分別設置不同的 Path 進行訪問。

Login-Service 服務路由轉發配置

選擇 Login-Service 服務, 選擇【路由轉發】頁簽,點擊【配置】, 選擇【test.serverless.kuberun.com】域名,配置路徑:/login。點擊【確定】進行保存。

file

接下來繼續配置 Search-Service 服務路由規則。

Search-Service 服務路由轉發配置

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

file

服務訪問

以上路由轉發配置完成之後,我們開始測試一下服務訪問:

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

file

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

file

基於 Path + Header 進行路由轉發

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

file

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

file

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

file

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

file

服務訪問 OK。這樣我們就完成了基於 Path + Header 路由轉發配置。

小結

通過阿里雲 Knative 控制台讓你更輕鬆、快捷的實現自定義域名及路由規則,以打造生產可用的服務訪問。歡迎對 Knative 感興趣的一起交流。

歡迎加入 Knative 交流群

file

「 阿里巴巴雲原生微信公眾號(ID:Alicloudnative)關注微服務、Serverless、容器、Service Mesh等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術公眾號。」