为了帮助您快速体验如何在EDAS中部署微服务应用,EDAS提供了Spring Cloud、Dubbo和HSF微服务应用Demo,您可以将应用Demo部署到指定的K8s环境(集群)中。本文通过一个示例,介绍如何在K8s环境中部署微服务应用。

前提条件

  • 开通EDAS
  • 由于EDAS中不支持创建K8s集群,所以需要在容器服务Kubernetes版中创建集群,再将集群导入到EDAS中。具体操作,请参见使用控制台管理集群(K8s)
    说明 在快速体验时,推荐将K8s集群导入到地域的默认微服务空间。实际使用EDAS时,可以根据是否有资源和服务隔离需求,将创建的K8s集群导入到您创建的指定微服务空间中。
  • 制作应用镜像
  • 如果您是RAM用户且使用企业版容器镜像仓库里的镜像创建应用时,需要阿里云账号为该RAM用户授权。具体信息,请参见配置仓库的RAM访问控制

背景信息

部署微服务应用Demo镜像

微服务应用Demo镜像包含一个服务端应用(Provider)和一个客户端应用(Consumer),本文介绍如何部署Provider。在部署完Provider后,请再按照本节步骤部署Consumer。

  1. 登录EDAS控制台
  2. 在左侧导航栏单击应用列表
  3. 应用列表页面顶部菜单栏选择地域,在页面中选择目标微服务空间,然后单击创建应用
  4. 创建应用向导的应用基本信息页签设置应用的基本信息,然后单击下一步
    应用基础信息-k8s
    1. 集群类型区域单击Kubernetes集群
    2. 应用运行环境区域的托管应用类型下方单击Java,然后在选择应用单击自定义
    3. 服务注册与发现配置右侧根据实际需求,选择是否使用程序配置的注册中心(即不使用EDAS提供 Nacos 的注册中心)。如何选择,请参见选择注册中心运维方式
  5. 应用配置页签中配置应用的环境并选择Demo镜像,然后单击下一步
    说明 如果您是RAM用户且使用企业版容器镜像仓库里的镜像创建应用时,需要阿里云账号为该RAM用户授权。具体信息,请参见配置仓库的RAM访问控制
    应用配置-K8s
    1. 微服务空间右侧的列表中选择默认

      本文旨在帮助您体验在K8s集群中部署微服务应用Demo,所以不建议您新建微服务空间,使用默认微服务空间即可。在您实际使用EDAS时,如果有资源和服务隔离需求,可以创建微服务空间。具体操作,请参见微服务空间

    2. 集群右侧的列表中选择目标K8s集群。
    3. K8s Namespace右侧的列表中选择default

      如果您需要自定义创建K8s Namespace,请单击创建K8s Namespace并设置K8s Namespace名称。名称设置要求只能包含数字、小写字母和短划线(-),且首尾只能是字母或数字,长度为1~63个字符。

    4. 应用名称右侧的文本框中输入应用名称。
    5. 可选:应用描述右侧的文本框中输入对该应用的描述信息。
    6. 镜像类型右侧选择Demo镜像
    7. 选择镜像区域选择镜像仓库所属项目,然后选择上传的镜像Demo。
    8. 选择镜像区域镜像仓库命名空间右侧的列表中选择edas-demo-image,然后在下方edas-demo-image/provider最右侧的列表中选择1.0版本。
      镜像仓库命名空间edas-demo-image中的镜像edas-demo-image/provider,及其版本1.0均为EDAS为您提供的Demo镜像,不可更改。
    9. Pod总数右侧的调整框中输入1
    10. 单Pod资源配额右侧将CPU核数内存(MB)分别设置为12048
  6. 应用高级设置页签单击创建应用
    应用高级设置包含一系列高级设置,您可以根据实际体验需求进行设置。具体操作,请参见高级配置
  7. 应用创建完成页签确认应用基本信息应用配置应用高级设置,然后单击确定创建应用

    应用开始部署后,基本信息页面上方会提示应用有变更流程正在执行,处于执行中状态。部署过程大概需要2分钟,请耐心等待。

    也可以在提示信息右侧单击查看详情,跳转到应用的变更记录页面查看部署进度及相关日志。

  8. 执行上述步骤,部署客户端应用。

结果验证

服务消费者包含Web服务,服务端应用和客户端应用都部署完成后,可以访问客户端应用的Web页面,验证调用结果。

  1. 应用总览页面访问方式配置区域,单击负载均衡(公网)右侧的图标。
  2. 负载均衡(公网)对话框中设置SLB和监听参数,然后单击确认
    添加SLB
    1. 选择SLB右侧列表中选择新建SLB
      如果您有SLB实例,可以在列表中选择SLB实例。
    2. TCP | HTTP 协议右侧单击添加新的监听,然后将SLB端口和容器端口分别设置为8018082
    3. 单击确认
    添加公网SLB大概需要30秒。添加完成后,访问方式配置区域的负载均衡(公网)右侧会显示公网SLB的地址,格式为SLB实例IP:端口
  3. 复制公网SLB地址,在浏览器中地址栏粘贴并访问该地址。
    进入到客户端应用的Web页面。访问客户端应用
  4. 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