为了帮助您快速体验如何在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