1. 程式人生 > >Knative 實戰:如何在 Knative 中配置自定義域名及路由規則

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

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

當前 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等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術公眾號。”