全部產品
Search
文件中心

Serverless App Engine:基於K8s ServiceName配置應用服務訪問

更新時間:Sep 03, 2024

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自身。

  • 如果服務端應用與用戶端應用想要進行互相調用,兩者都需要先配置K8s ServiceName。

在建立應用過程中佈建服務註冊發現功能

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊建立應用

  3. 應用基本資料設定精靈,配置相關資訊,然後單擊下一步:應用部署配置

  4. 應用部署配置設定精靈,選擇技術棧語言應用部署方式,配置相關資訊。

  5. 展開服務註冊發現地區,單擊基於K8s Service服務註冊發現頁簽,開啟啟用基於K8s Service服務註冊發現開關,配置相關資訊。

    配置項

    說明

    服務名稱

    系統預設自動填滿,格式為應用程式名稱-命名空間ID,其中尾碼-命名空間ID不可修改。

    說明

    建立後,服務名稱不允許修改。

    連接埠

    在文字框輸入連接埠,取值範圍為[1,65535]。

    說明

    最多支援添加5條連接埠與協議的配置資訊。

    協議

    在下拉式清單選擇目標協議。支援協議如下:

    • TCP

    • UDP

  6. 單擊下一步:確認規格

  7. 確認規格設定精靈,查看您所建立應用的詳細資料以及費用配置情況,然後單擊確認建立

    頁面會跳轉至建立完成設定精靈,您可以單擊應用詳情頁進入基本資料頁面。

  8. 通過以下方式驗證配置是否生效。

    • 方式一:

      在應用基本資料頁面的左側導覽列,單擊變更記錄,在變更記錄頁面,查看應用變更詳情。如果顯示執行成功,表示應用部署成功,配置已生效。

    • 方式二:

      在應用基本資料頁面,單擊執行個體部署資訊頁簽,查看執行個體的運行狀態。如果運行狀態顯示為Running,表示應用部署成功,配置已生效。

    • 方式三:

      在應用基本資料頁面的應用訪問設定地區,單擊基於K8s Service Name訪問頁簽,查看服務發現的配置資訊。如果該地區顯示已配置的服務名稱、連接埠與協議,表示應用部署成功,配置已生效。

在部署應用過程中佈建服務註冊發現功能

警告

重新部署應用後,該應用將會被重啟。為避免業務中斷等不可預知的錯誤,請在業務低峰期執行部署操作。

更新應用配置的路徑因執行個體數的不同而不同。本文以執行個體數大於等於1為例,介紹如何配置目標功能。當執行個體數等於0時的操作路徑,請參見更新應用

  1. 登入SAE控制台

  2. 在左側導覽列,單擊應用列表,在頂部功能表列選擇地區,然後單擊具體應用程式名稱。

  3. 基本資料頁面右上方,單擊部署應用

  4. 部署應用頁面,展開服務註冊發現地區,單擊基於K8s Service服務註冊發現頁簽,開啟啟用基於K8s Service服務註冊發現開關,配置相關資訊。

    配置項

    說明

    服務名稱

    系統預設自動填滿,格式為應用程式名稱-命名空間ID,其中尾碼-命名空間ID不可修改。

    說明

    建立後,服務名稱不允許修改。

    連接埠

    在文字框輸入連接埠,取值範圍為[1,65535]。

    說明

    最多支援添加5條連接埠與協議的配置資訊。

    協議

    在下拉式清單選擇目標協議。支援協議如下:

    • TCP

    • UDP

  5. 配置完成後,單擊確認

  6. 通過以下方式驗證配置是否生效。

    • 方式一:

      在應用基本資料頁面的左側導覽列,單擊變更記錄,在變更記錄頁面,查看應用變更詳情。如果顯示執行成功,表示應用部署成功,配置已生效。

    • 方式二:

      在應用基本資料頁面,單擊執行個體部署資訊頁簽,查看執行個體的運行狀態。如果運行狀態顯示為Running,表示應用部署成功,配置已生效。

    • 方式三:

      在應用基本資料頁面的應用訪問設定地區,單擊基於K8s Service Name訪問頁簽,查看服務發現的配置資訊。如果該地區顯示已配置的服務名稱、連接埠與協議,表示應用部署成功,配置已生效。