為了幫助您快速體驗如何在EDAS中部署微服務應用,EDAS提供了Spring Cloud、Dubbo和HSF微服務應用Demo,您可以將應用Demo部署到指定的K8s環境(集群)中。本文介紹如何在K8s環境中部署微服務應用。
前提條件
由于EDAS中不支持創建K8s集群,所以需要在容器服務Kubernetes版中創建集群,再將集群導入到EDAS中。具體操作,請參見使用控制臺管理集群(K8s)。
說明在快速體驗時,推薦將K8s集群導入到地域的默認微服務空間。實際使用EDAS時,可以根據是否有資源和服務隔離需求,將創建的K8s集群導入到您創建的指定微服務空間中。
如果您是RAM用戶且使用企業版容器鏡像倉庫里的鏡像創建應用時,需要阿里云賬號為該RAM用戶授權。具體信息,請參見RAM授權信息。
背景信息
K8s環境:在具體地域、指定微服務空間內的K8s集群。
應用Demo:EDAS在控制臺中提供了一對微服務應用(服務提供者和服務消費者)的Demo鏡像,可以完成簡單的服務調用。另外,EDAS還提供了Spring Cloud、Dubbo和HSF框架的一對微服務應用Demo的JAR和WAR包,如果想了解如何部署JAR包或WAR包,請參見在容器服務K8s集群中使用JAR包或WAR包部署應用和在Serverless K8s集群中使用JAR包或WAR包部署應用。
本文以Demo鏡像方式為例介紹如何部署微服務應用。如果您想要了解Demo的詳細信息,請參見alibabacloud-microservice-demo。
如果您想了解如何實現微服務應用的相關功能,請參見應用開發概述。
部署微服務應用Demo鏡像
微服務應用Demo鏡像包含一個服務端應用(Provider)和一個客戶端應用(Consumer),本文介紹如何部署Provider。在部署完Provider后,請再按照本節步驟部署Consumer。
登錄EDAS控制臺。
在左側導航欄,單擊 。
在應用列表頁面頂部菜單欄選擇地域,在頁面中選擇目標微服務空間,然后單擊創建應用。
在創建應用向導的應用基本信息頁簽設置應用的基本信息,然后單擊下一步。
配置項
操作
集群類型
選擇Kubernetes集群。
應用運行環境
托管應用類型:選擇Java。
選擇應用:選擇自定義。
在應用配置頁簽,配置應用的環境并選擇Demo鏡像,然后單擊下一步。
說明如果您是RAM用戶且使用企業版容器鏡像倉庫里的鏡像創建應用時,需要阿里云賬號為該RAM用戶授權。具體信息,請參見RAM授權信息。
配置項
操作
微服務空間
選擇默認。
說明本文旨在幫助您體驗在K8s集群中部署微服務應用Demo,所以不建議您新建微服務空間,使用默認微服務空間即可。在您實際使用EDAS時,如果有資源和服務隔離需求,可以創建微服務空間。具體操作,請參見微服務空間。
集群
在下拉列表中選擇目標K8s集群。
K8s Namespace
在下拉列表中選擇default。
如果您需要自定義創建K8s Namespace,請單擊創建K8s Namespace并設置K8s Namespace名稱。名稱設置要求只能包含數字、小寫字母和短劃線(-),且首尾只能是字母或數字,長度為1~63個字符。
應用名稱
在文本框中輸入應用名稱。
應用描述
在文本框中輸入對該應用的描述信息。
鏡像類型
選擇Demo鏡像。
鏡像倉庫命名空間
在列表中選擇edas-demo-project,然后在下方edas-demo-project/provider最右側的列表中選擇1.0版本。
說明鏡像倉庫命名空間edas-demo-project中的鏡像edas-demo-project/provider,及其版本1.0均為EDAS為您提供的Demo鏡像,不可更改。
Pod總數
調整框中輸入1。
單Pod資源配額
將CPU資源預留(核)和Mem 資源預留(MB)分別設置為1和2048。
在應用高級設置頁簽,單擊創建應用。
應用高級設置包含一系列高級設置,您可以根據實際體驗需求進行設置。具體操作,請參見高級配置。
在應用創建完成頁簽,確認應用基本信息、應用配置和應用高級設置,然后單擊確定創建應用。
應用開始部署后,基本信息頁面上方會提示應用有變更流程正在執行,處于執行中狀態。部署過程大概需要2分鐘,請耐心等待。
也可以在提示信息右側單擊查看詳情,跳轉到應用的變更記錄頁面查看部署進度及相關日志。
執行上述步驟,部署客戶端應用。
結果驗證
服務消費者包含Web服務,服務端應用和客戶端應用都部署完成后,可以訪問客戶端應用的Web頁面,驗證調用結果。
在應用列表頁面,單擊已創建的服務消費者Consumer的應用名稱,進入應用總覽頁面。
在應用總覽頁面訪問方式配置區域,單擊負載均衡(公網)右側的圖標。
在負載均衡(公網)對話框,設置SLB和監聽參數,然后單擊確認。
在選擇SLB右側列表,選擇新建SLB。
如果您有SLB實例,可以在列表中選擇SLB實例。
在TCP | HTTP 協議右側,單擊添加新的監聽,然后將SLB端口和容器端口分別設置為80和18082。
重要請按照以下操作為應用配置TCP|HTTP協議,配置其一即可訪問。
服務消費者Consumer:TCP|HTTP協議區域的容器端口(Target port)配置為
18082
。服務提供者Provider:TCP|HTTP協議區域的容器端口(Target port)配置為
18081
。
如果您為服務消費者Consumer配置端口為
18081
,那么Web頁面是不可訪問的。單擊確認。
添加公網SLB大概需要30秒。添加完成后,訪問方式配置區域的負載均衡(公網)右側會顯示公網SLB的地址,格式為
SLB實例IP:端口
。復制公網SLB地址,在瀏覽器中地址欄粘貼并訪問該地址。
進入到客戶端應用的Web頁面。
在Echo this string文本框中輸入任意字符串,如
Hello EDAS
,然后單擊點擊此處,查看頁面下方是否成功返回調用之后的數據。調用之后數據返回區域顯示客戶端應用(Consumer)調用服務端應用(Provider)的過程,并且包含輸入的字符串,則說明調用成功,即微服務Demo應用部署成功。
2020-08-25T10:00:01.866Z : Consumer received. 2020-08-25T10:00:01.878Z : Provider received. Provider processed after sleep 1 second! Echo String: "Hello EDAS" 2020-08-25T10:00:02.878Z : Provider Return 2020-08-25T10:00:02.882Z : Consumer Return