全部產品
Search
文件中心

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

更新時間:Nov 21, 2025

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. 功能入口。

    建立應用時的配置入口

    1. 登入SAE控制台,在左側導覽列選擇應用管理 > 應用列表,然後選擇目標地區和目標命名空間,最後單擊建立應用

    2. 選擇應用版本,然後單擊建立應用

    3. 應用基本資料嚮導頁面進行配置後,單擊下一步:進階設定

    4. 進階設定嚮導頁面找到並展開服務註冊發現地區。

    部署應用時的配置入口

    警告

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

    1. 登入SAE控制台,在左側導覽列選擇應用管理 > 應用列表,然後選擇目標地區和目標命名空間,最後單擊目標應用程式名稱。

    2. 在目標應用的基礎資訊頁面,單擊部署應用

    3. 部署應用嚮導頁面找到並展開服務註冊發現地區。

  2. 配置基於K8s Service服務註冊發現功能。

    1. 開啟基於K8s Service服務註冊發現開關。

    2. 配置服務名稱連接埠協議

      配置項

      說明

      服務名稱

      自訂服務名稱。必須保證同一使用者地區內唯一,建立成功後不允許修改。

      說明

      預設的服務名稱為應用程式名稱。

      連接埠

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

      說明

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

      容器連接埠

      輸入容器連接埠。

      協議

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

      • TCP

      • UDP

查看訪問網域名稱

在目標應用的基礎資訊頁面,在應用訪問設定地區的基於K8s Service Name訪問頁簽查看。

說明

支援以下四種網域名稱:

  • 訪問與該應用相同命名空間內的應用,使用服務名稱(本樣本中為demo)即可進行訪問。

  • 跨命名空間訪問,需要使用以下網域名稱進行訪問,以下網域名稱只作為樣本說明。

    • demo.nsfoo

      本樣本的命名空間是自訂的,如果目標應用所在的命名空間為預設命名空間,則命名空間ID為default,樣本網域名稱:demo.default。
    • demo.nsfoo.svc.cluster.local

    • demo.nsfoo.svc.cluster.local.cn-hangzhou

TCK2WNb6P7