EDAS提供了Spring Cloud、Dubbo和HSF微服务应用的Demo,旨在协助您快速了解微服务部署流程。本文介绍如何在指定K8s集群环境中以原生方式部署微服务应用Demo。
前提条件
已开通EDAS。具体操作,请参见开通EDAS。
已创建K8s集群。具体操作,请参见创建ACK托管集群。
已为集群安装Nginx Ingress。具体操作,请参见创建Nginx Ingress。
确保该集群已导入EDAS。具体操作,请参见在EDAS控制台导入Kubernetes集群和使用Helm方式导入Kubernetes集群。
说明EDAS中不支持创建K8s集群,您需要先创建集群,或者使用其他云厂商已有的集群,具体操作,请参见使用腾讯云TKE集群创建应用。
已通过kubectl工具连接集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
已经在本地终端安装了Helm。
说明本地终端特指当前场景下进行网络访问的OS,包括个人电脑,ECS云服务器等。例如使用个人电脑登录ECS,再通过kubectl访问ACK集群时,ECS就是本地终端。
背景信息
EDAS提供了Spring Cloud、Dubbo和HSF框架的微服务应用Demo的JAR和WAR包,如果想了解如何部署JAR包或WAR包,请参见在容器服务K8s集群中使用JAR包或WAR包部署应用和在Serverless K8s集群中使用JAR包或WAR包部署应用。
如果您想了解如何实现微服务应用的相关功能,请参见应用开发概述。如果您想要了解Demo的详细信息,请参见alibabacloud-microservice-demo。
部署应用
EDAS微服务应用Demo包含原生的Deployment用于部署服务端应用(Provider)和客户端应用(Consumer),以及Service和Ingress来确保应用的可访问性。
在本地终端执行以下命令,获取Demo应用的Helm Chart包。
wget https://edas-hz.oss-cn-hangzhou.aliyuncs.com/helm/edas-apps-demo-chart-1.0.0.tgz
说明此处获取Chart包的链接是公网地址,请确保您使用的集群已经配置了SNAT。具体信息,请参见使用公网NAT网关SNAT功能访问互联网。
在本地终端执行以下命令,使用helm创建应用。
helm install edas-apps-demo edas-apps-demo-chart-1.0.0.tgz
查看应用是否创建完成。
通过命令行查看
执行以下命令:
kubectl get cloudapps
预期结果:
通过控制台查看
登录EDAS控制台,在左侧导航栏,单击应用管理 > 应用列表页面查看已创建的应用。
说明Helm Chart包中的Deployment YAML配置包含了
edas.alibabacloud.com/app
标签,在Deployment创建后自动由EDAS管理,并生成对应的EDAS应用。更多详情,请参见使用K8s原生方式创建EDAS应用。确认应用处于运行中的状态后,在本地终端执行以下命令。
kubectl get ingress
记录输出结果中的
ADDRESS
值,以便在后续步骤中使用。在本地终端执行以下命令,调用Consumer应用的
consumer-echo
接口。curl -H "Host: www.edas-consumer.com" http://<IP_ADDRESS>/consumer-echo/Hello
<IP_ADDRESS>
:替换为4中的ADDRESS
值。此IP是集群中nginx-ingress的LoadBalancer的IP。说明创建K8s集群并启用公网访问选项时,可以直接通过该IP进行访问。若IP为私有网络地址,则仅能在对应的VPC内进行访问。
返回类似以下内容的输出,表明应用已经成功部署。
1696991186943 Consumer received. 1696991187105 Provider received. Provider processed after sleep 1 second! Echo String: "Hello" 1696991188105 Provider Return 1696991188138 Consumer Return
删除应用
验证完成后,如需删除测试应用,只需执行以下命令,卸载安装的Helm Chart即可。
helm uninstall edas-apps-demo
相关文档
您也可以使用控制台来创建微服务应用,具体操作,请参见通过控制台快速在K8s集群中部署Spring Cloud和Dubbo应用。