通過kubectl和helm快速在K8s集群中部署Spring Cloud和Dubbo應(yīng)用
EDAS提供了Spring Cloud、Dubbo和HSF微服務(wù)應(yīng)用的Demo,旨在協(xié)助您快速了解微服務(wù)部署流程。本文介紹如何在指定K8s集群環(huán)境中以原生方式部署微服務(wù)應(yīng)用Demo。
前提條件
已開通EDAS。具體操作,請參見開通EDAS。
已創(chuàng)建K8s集群。具體操作,請參見創(chuàng)建ACK托管集群。
已為集群安裝Nginx Ingress。具體操作,請參見創(chuàng)建Nginx Ingress。
確保該集群已導(dǎo)入EDAS。具體操作,請參見在EDAS控制臺導(dǎo)入Kubernetes集群和使用Helm方式導(dǎo)入Kubernetes集群。
說明EDAS中不支持創(chuàng)建K8s集群,您需要先創(chuàng)建集群,或者使用其他云廠商已有的集群,具體操作,請參見使用騰訊云TKE集群創(chuàng)建應(yīng)用。
已通過kubectl工具連接集群。具體操作,請參見獲取集群KubeConfig并通過kubectl工具連接集群。
已經(jīng)在本地終端安裝了Helm。
說明本地終端特指當(dāng)前場景下進行網(wǎng)絡(luò)訪問的OS,包括個人電腦,ECS云服務(wù)器等。例如使用個人電腦登錄ECS,再通過kubectl訪問ACK集群時,ECS就是本地終端。
背景信息
EDAS提供了Spring Cloud、Dubbo和HSF框架的微服務(wù)應(yīng)用Demo的JAR和WAR包,如果想了解如何部署JAR包或WAR包,請參見在容器服務(wù)K8s集群中使用JAR包或WAR包部署應(yīng)用和在Serverless K8s集群中使用JAR包或WAR包部署應(yīng)用。
如果您想了解如何實現(xiàn)微服務(wù)應(yīng)用的相關(guān)功能,請參見應(yīng)用開發(fā)概述。如果您想要了解Demo的詳細信息,請參見alibabacloud-microservice-demo。
部署應(yīng)用
EDAS微服務(wù)應(yīng)用Demo包含原生的Deployment用于部署服務(wù)端應(yīng)用(Provider)和客戶端應(yīng)用(Consumer),以及Service和Ingress來確保應(yīng)用的可訪問性。
在本地終端執(zhí)行以下命令,獲取Demo應(yīng)用的Helm Chart包。
wget https://edas-hz.oss-cn-hangzhou.aliyuncs.com/helm/edas-apps-demo-chart-1.0.0.tgz
說明此處獲取Chart包的鏈接是公網(wǎng)地址,請確保您使用的集群已經(jīng)配置了SNAT。具體信息,請參見使用公網(wǎng)NAT網(wǎng)關(guān)SNAT功能訪問互聯(lián)網(wǎng)。
在本地終端執(zhí)行以下命令,使用helm創(chuàng)建應(yīng)用。
helm install edas-apps-demo edas-apps-demo-chart-1.0.0.tgz
查看應(yīng)用是否創(chuàng)建完成。
通過命令行查看
執(zhí)行以下命令:
kubectl get cloudapps
預(yù)期結(jié)果:
通過控制臺查看
登錄EDAS控制臺,在左側(cè)導(dǎo)航欄,單擊應(yīng)用管理 > 應(yīng)用列表頁面查看已創(chuàng)建的應(yīng)用。
說明Helm Chart包中的Deployment YAML配置包含了
edas.alibabacloud.com/app
標簽,在Deployment創(chuàng)建后自動由EDAS管理,并生成對應(yīng)的EDAS應(yīng)用。更多詳情,請參見使用K8s原生方式創(chuàng)建EDAS應(yīng)用。確認應(yīng)用處于運行中的狀態(tài)后,在本地終端執(zhí)行以下命令。
kubectl get ingress
記錄輸出結(jié)果中的
ADDRESS
值,以便在后續(xù)步驟中使用。在本地終端執(zhí)行以下命令,調(diào)用Consumer應(yīng)用的
consumer-echo
接口。curl -H "Host: www.edas-consumer.com" http://<IP_ADDRESS>/consumer-echo/Hello
<IP_ADDRESS>
:替換為4中的ADDRESS
值。此IP是集群中nginx-ingress的LoadBalancer的IP。說明創(chuàng)建K8s集群并啟用公網(wǎng)訪問選項時,可以直接通過該IP進行訪問。若IP為私有網(wǎng)絡(luò)地址,則僅能在對應(yīng)的VPC內(nèi)進行訪問。
返回類似以下內(nèi)容的輸出,表明應(yīng)用已經(jīng)成功部署。
1696991186943 Consumer received. 1696991187105 Provider received. Provider processed after sleep 1 second! Echo String: "Hello" 1696991188105 Provider Return 1696991188138 Consumer Return
刪除應(yīng)用
驗證完成后,如需刪除測試應(yīng)用,只需執(zhí)行以下命令,卸載安裝的Helm Chart即可。
helm uninstall edas-apps-demo
相關(guān)文檔
您也可以使用控制臺來創(chuàng)建微服務(wù)應(yīng)用,具體操作,請參見通過控制臺快速在K8s集群中部署Spring Cloud和Dubbo應(yīng)用。