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