为了帮助您快速体验如何部署微服务应用,EDAS提供了Spring Cloud、Dubbo和HSF微服务应用Demo,您可以将应用Demo部署至指定的K8s环境(集群)中。本文介绍如何通过原生的方式在K8s环境中部署微服务应用。
前提条件
已开通EDAS。具体操作,请参见开通EDAS。
已创建K8s集群,且集群已安装Nginx Ingress。
说明EDAS中不支持创建K8s集群,您需在容器服务Kubernetes版中创建集群,或者使用其他云厂商已有的集群,将集群导入到EDAS中。具体操作,请参见使用控制台管理集群(K8s)和使用腾讯云TKE集群创建应用。
背景信息
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镜像包含一个服务端应用(Provider)和一个客户端应用(Consumer)。
执行以下命令,下载Demo应用的Helm Chart包。
wget https://edas-hz.oss-cn-hangzhou.aliyuncs.com/helm/edas-apps-demo-chart-1.0.0.tgz
该Helm Chart中包含原生的Deployment、Service和Ingress,用来部署及访问应用。
执行以下命令,创建应用。
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应用。应用处于运行中后,执行以下命令,获取应用的服务入口IP。
kubectl get ingress
执行以下命令,调用Consumer应用的
consumer-echo
接口。curl -H "Host: www.edas-consumer.com" http://<IP_ADDRESS>/consumer-echo/Hello
<IP_ADDRESS>
:Ingress对应的IP,替换为4中的ADDRESS
值。该IP是集群中nginx-ingress的LoadBalance的IP。说明在创建K8s集群时,如果开启公网访问,该IP可直接访问。如果该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
- 本页导读 (1)