全部產品
Search
文件中心

Enterprise Distributed Application Service:在Serverless K8s叢集中使用鏡像方式部署應用

更新時間:Jun 30, 2024

EDAS在雲原生Kubernetes之上,全面整合了Container ServiceKubernetes版,支援K8s容器化應用的全生命週期管理。Serverless K8s適合快速伸縮的敏捷業務情境以及單個或多個任務處理的情境。本文介紹如何在Serverless K8s叢集中使用鏡像來部署應用。

前提條件

步驟一:建立Serverless Kubernetes叢集

登入Container ServiceKubernetes版控制台,建立Serverless Kubernetes叢集。具體操作,請參見建立ASK叢集

步驟二:在EDAS控制台中匯入Serverless Kubernetes叢集

在EDAS控制台匯入Container ServiceK8s叢集時,會預設安裝應用防護(限流降級)組件(ack-ahas-sentinel-pilot)、ARMS監控組件(ack-arms-pilot)以及Prometheus監控組件(ack-arms-prometheus)。

  1. 登入EDAS控制台,在左側導覽列選擇資源管理 > Serverless K8s 叢集

  2. 在頂部功能表列選擇地區,選擇要匯入叢集的目標微服務空間,然後單擊同步Serverless K8s叢集

  3. 在匯入的Serverless K8s叢集的操作列,單擊匯入

  4. 警告對話方塊,單擊確定

  5. 匯入預檢對話方塊,單擊繼續匯入

  6. 匯入Kubernetes叢集對話方塊,從下拉式清單中選擇目標微服務空間,根據需要選擇是否開啟服務網格,然後單擊匯入

    當Serverless K8s叢集狀態顯示為運行中,並且匯入狀態顯示為匯入成功時,表示Container ServiceServerless K8s叢集已成功匯入到EDAS。

步驟三:在Serverless K8s叢集中建立應用

  1. 登入EDAS控制台,在左側導覽列單擊應用管理 > 應用列表,在頂部功能表列選擇地區並在頁面上方選擇微服務空間,然後在應用列表頁面左上方單擊建立應用

  2. 應用基本資料頁面中設定應用的叢集類型和應用運行環境,然後單擊下一步

    配置項

    描述

    叢集類型

    選擇Kubernetes叢集。

    說明

    Kubernetes叢集支援服務網格。

    應用來源類型

    選擇預設

    應用運行環境

    託管應用類型

    本文介紹如何部署Java應用,所以選擇Java。 如果需要部署PHP或多語言應用,請參見從源碼構建PHP應用並部署至Container ServiceK8s叢集

    選擇應用

    應用的運行環境。不同托管應用類型,不同部署套件類型,需要選擇不同的Java應用環境。本文中選擇自訂,即使用鏡像部署Java應用。應用運行環境包含在鏡像中,無需選擇。

    說明

    OpenJDK 17支援2.7.14和3.0.6及以上版本的Dubbo。相容性測試結果,請參見OpenJDK 17相容測試資料

    表 2. OpenJDK 17相容測試資料

    Dubbo版本

    Spring Boot版本

    Nacos-Client版本

    介面調用

    ARMS監控

    服務列表

    2.7.14

    2.7.9

    1.4.4

    OK

    OK

    OK

    2.7.14

    2.7.9

    2.1.2

    OK

    OK

    OK

    2.7.14

    2.7.9

    2.2.0

    OK

    OK

    OK

    2.7.22

    2.7.9

    1.4.4

    OK

    OK

    OK

    2.7.22

    2.7.9

    2.1.2

    OK

    OK

    OK

    2.7.22

    2.7.9

    2.2.0

    OK

    OK

    OK

    3.0.6

    2.7.9

    1.4.4

    OK

    OK

    OK

    3.0.6

    2.7.9

    2.1.2

    OK

    OK

    OK

    3.0.6

    2.7.9

    2.2.0

    OK

    OK

    OK

    3.1.7

    2.7.9

    1.4.4

    OK

    OK

    OK

    3.1.7

    2.7.9

    2.1.2

    OK

    OK

    OK

    3.1.7

    2.7.9

    2.2.0

    OK

    OK

    OK

  3. 應用配置頁簽中設定應用的環境資訊、基本資料、部署方式和資源參數,設定完成後單擊下一步

    配置項

    描述

    微服務空間

    應用所屬空間。選擇您建立的微服務空間,如果您未建立或不做選擇,微服務空間則設定為預設

    如果您沒有建立微服務空間,或者需要建立新的微服務空間,您可以直接單擊建立微服務空間,建立一個全新的微服務空間。具體操作,請參見使用控制台管理微服務空間

    叢集

    在右側下拉選擇框內選擇目標K8s叢集。

    如果您選擇的K8s叢集未匯入到EDAS,請選中該叢集在EDAS初次使用,勾選後,將會在應用建立時將該叢集匯入EDAS,因此會產生一定耗時。並確認是否開啟服務網格。

    說明

    叢集匯入的微服務空間可以不是應用所屬微服務空間。

    K8s Namespace

    K8s Namespace通過將系統內部的對象分配到不同的Namespace中,形成邏輯上分組的不同專案、小組或使用者組,便於不同的分組在共用使用整個叢集的資源的同時還能被分別管理。

    • default:沒有其他命名空間的對象的預設命名空間。

    • kube-system:系統建立的對象的命名空間。

    • kube-public:此命名空間是自動建立的,並且可供所有使用者(包括未經過身分識別驗證的使用者)讀取。

    此處以選擇default為例。

    如果您需要自訂建立K8s Namespace,請單擊建立K8s Namespace並設定K8s Namespace名稱。名稱設定要求只能包含數字、小寫字母和短劃線(-),且首尾只能是字母或數字,長度為1~63個字元。

    應用程式名稱

    輸入應用程式名稱,必須以字母開頭,允許數字、字母、短劃線(-)組合。最多支援輸入36個字元。

    應用描述

    輸入應用描述 ,最大長度為128個字元。

    鏡像類型

    • 配置鏡像

      • 阿里雲鏡像服務選擇當前帳號

        選擇鏡像所屬地區Container Registry鏡像倉庫命名空間鏡像倉庫名和鏡像版本。

      • 阿里雲鏡像服務選擇為其他阿里雲帳號

        • 如您的鏡像存放在公開倉庫中,那麼您配置完整鏡像地址即可。

        • 如您的鏡像存放在私人倉庫中,那麼您需要使用免密外掛程式拉取容器鏡像,請參見使用免密組件拉取容器鏡像

    • Demo鏡像

      選擇EDAS提供的Demo鏡像和鏡像版本。

      說明

      專有雲暫不支援Demo鏡像。

    說明

    如果您以RAM使用者且使用企業版容器鏡像倉庫裡的鏡像建立應用時,需要阿里雲帳號為該RAM使用者授權。具體資訊,請參見RAM授權資訊

    Pod總數

    設定該應用要部署的Pod個數。沒有數量限制,上限取決於叢集效能。

    單Pod資源配額

    設定單個Pod的CPU、記憶體和臨時儲存,如果您需要限額,請填寫具體的數字,使用預設值0則代表不限額。沒有配額限制,上限取決於叢集效能。

  4. (可選)配置應用進階設定。

  5. 完成設定後單擊建立應用,然後在應用建立完成頁簽,單擊確定建立應用

  6. 應用變更預檢確認對話方塊,單擊開始預檢

    1. 應用變更預檢確認的下一頁,確認預檢項和預檢結果,單擊繼續

    2. 可選:如您有更改以上預檢項,請單擊重新檢測

    應用建立可能需要幾分鐘,建立過程中,可以通過查看變更記錄跟蹤應用的建立流程。建立完成後,返回應用總覽頁面,查看執行個體Pod的運行狀態。若運行狀態運行中,說明應用發布成功。單擊Pod的運行狀態可以查看應用執行個體的工作負載(Deployment)容器組(Pod)和進階配置資訊。

後續步驟

應用建立完畢後,可以通過添加公網SLB實現公網訪問,添加私網SLB實現同VPC內所有節點能夠通過私網負載平衡訪問您的應用。相關操作,請參見添加負載平衡CLB複用負載平衡CLB

EDASContainer ServiceK8s和Serverless K8s交流群

如果您在EDAS中使用Container ServiceK8s叢集和Serverless K8s叢集過程中有任何疑問或建議,請使用DingTalk搜尋DingTalk群號23197114加入DingTalk群進行反饋。