本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
SAE支持基于K8s ServiceName的多語言服務注冊發現功能,通過ServiceName做服務間調用。您可以為應用配置一個SAE集群內可以訪問的固定域名,解決每次部署以后實例IP變化的問題。本文介紹如何通過SAE控制臺,為應用配置基于K8s ServiceName的服務訪問。
背景信息
在分布式微服務框架下,當服務上下線變更時,通過服務注冊與服務發現功能,實現服務端和調用端的正常通信。
服務注冊:針對服務端。服務實例把自身的服務信息注冊到注冊中心后,調用端從注冊中心讀取并訂閱相關信息。
服務發現:針對調用端。注冊中心對服務下的實例地址和元數據進行探測,并以預先定義的接口提供給調用端進行查詢。服務實例向注冊中心發起請求,在獲取依賴的服務信息后,再通過這些信息去請求提供的服務。
使用限制
該域名僅支持訪問SAE應用內的實例,不支持其他實例或者集群通過該域名訪問SAE,例如FC、ACK、ECS。如果其他產品需要訪問SAE,建議您綁定一個私網/公網CLB來提供訪問。更多信息,請參見基于CLB配置應用服務訪問。
該域名不支持使用ping命令訪問K8s ServiceName,您可以在代碼里通過ServiceName以TCP或者UDP的方式進行訪問。建議您使用ping命令,測試應用的Pod IP來排查網絡是否聯通。
應用Pod無法通過ServiceName訪問到應用Pod自身。
Job不支持通過K8s ServiceName的方式訪問應用。
如果服務端應用與客戶端應用想要進行互相調用,兩者都需要先配置K8s ServiceName。
在創建應用過程中配置服務注冊發現功能
登錄SAE控制臺。
在左側導航欄,選擇 ,在頂部菜單欄選擇地域,然后單擊創建應用。
在應用基本信息配置向導,配置相關信息,然后單擊下一步:應用部署配置。
在應用部署配置配置向導,選擇技術棧語言和應用部署方式,配置相關信息。
展開服務注冊發現區域,單擊基于K8s Service服務注冊發現頁簽,打開啟用基于K8s Service服務注冊發現開關,配置相關信息。
配置項
說明
服務名稱
系統默認自動填充,格式為應用名稱-命名空間ID,其中后綴-命名空間ID不可修改。
說明創建后,服務名稱不允許修改。
端口
在文本框輸入端口,取值范圍為[1,65535]。
說明最多支持添加5條端口與協議的配置信息。
協議
在下拉列表選擇目標協議。支持協議如下:
TCP
UDP
單擊下一步:確認規格。
在確認規格配置向導,查看您所創建應用的詳細信息以及費用配置情況,然后單擊確認創建。
頁面會跳轉至創建完成配置向導,您可以單擊應用詳情頁進入基本信息頁面。
通過以下方式驗證配置是否生效。
方式一:
在應用基本信息頁面的左側導航欄,單擊變更記錄,在變更記錄頁面,查看應用變更詳情。如果顯示執行成功,表示應用部署成功,配置已生效。
方式二:
在應用基本信息頁面,單擊實例部署信息頁簽,查看實例的運行狀態。如果運行狀態顯示為Running,表示應用部署成功,配置已生效。
方式三:
在應用基本信息頁面的應用訪問設置區域,單擊基于K8s Service Name訪問頁簽,查看服務發現的配置信息。如果該區域顯示已配置的服務名稱、端口與協議,表示應用部署成功,配置已生效。
在部署應用過程中配置服務注冊發現功能
重新部署應用后,該應用將會被重啟。為避免業務中斷等不可預知的錯誤,請在業務低峰期執行部署操作。
更新應用配置的路徑因實例數的不同而不同。本文以實例數大于等于1為例,介紹如何配置目標功能。當實例數等于0時的操作路徑,請參見更新應用。
登錄SAE控制臺。
在左側導航欄,選擇 ,在頂部菜單欄選擇地域,然后單擊具體應用名稱。
在基本信息頁面右上角,單擊部署應用。
在部署應用頁面,展開服務注冊發現區域,單擊基于K8s Service服務注冊發現頁簽,打開啟用基于K8s Service服務注冊發現開關,配置相關信息。
配置項
說明
服務名稱
系統默認自動填充,格式為應用名稱-命名空間ID,其中后綴-命名空間ID不可修改。
說明創建后,服務名稱不允許修改。
端口
在文本框輸入端口,取值范圍為[1,65535]。
說明最多支持添加5條端口與協議的配置信息。
協議
在下拉列表選擇目標協議。支持協議如下:
TCP
UDP
配置完成后,單擊確認。
通過以下方式驗證配置是否生效。
方式一:
在應用基本信息頁面的左側導航欄,單擊變更記錄,在變更記錄頁面,查看應用變更詳情。如果顯示執行成功,表示應用部署成功,配置已生效。
方式二:
在應用基本信息頁面,單擊實例部署信息頁簽,查看實例的運行狀態。如果運行狀態顯示為Running,表示應用部署成功,配置已生效。
方式三:
在應用基本信息頁面的應用訪問設置區域,單擊基于K8s Service Name訪問頁簽,查看服務發現的配置信息。如果該區域顯示已配置的服務名稱、端口與協議,表示應用部署成功,配置已生效。