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

前提条件

  • 开通 EDAS 服务
  • 由于EDAS中不支持创建K8s集群,所以需要在容器服务Kubernetes版中创建集群,再将集群导入到EDAS中,详情请参见管理Kubernetes集群
    说明 在快速体验时,推荐将K8s集群导入到地域的默认命名空间。实际使用EDAS时,可以根据是否有资源和服务隔离需求,将创建的K8s集群导入到您创建的指定命名空间中。
  • 制作应用镜像

背景信息

部署微服务应用Demo镜像

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

  1. 登录EDAS控制台
  2. 在左侧导航栏选择应用管理 > 应用列表
  3. 应用列表页面顶部菜单栏选择地域,然后在页面左上角单击创建应用
  4. 创建应用向导的应用基本信息页签设置应用的基本信息,然后单击下一步
    应用基本信息-K8s
    1. 集群类型区域单击Kubernetes集群
    2. 应用运行环境区域单击自定义
  5. 应用配置页签中配置应用的环境并选择Demo镜像,然后单击下一步
    应用配置-K8s
    1. 命名空间右侧的列表中选择默认

      本文旨在帮助您体验在K8s集群中部署微服务应用Demo,所以不建议您创建命名空间。在您实际使用EDAS时,如果有资源和服务隔离需求,可以创建命名空间,详情请参见管理命名空间

    2. 集群右侧的列表中选择创建并导入EDAS的K8s集群。
      如果列表中没有K8s集群,说明您还未创建K8s集群或未导入到EDAS,请先创建K8s集群并导入到EDAS,详情请参见管理Kubernetes集群
    3. K8s Namespace右侧的列表中选择default
    4. 应用名称右侧的文本框中输入应用名称。
    5. 可选:应用描述下方的文本框中输入对该应用的描述信息。
    6. 镜像类型右侧选择Demo镜像
    7. 选择镜像区域镜像仓库命名空间右侧的列表中选择edas-demo-image,然后在下方edas-demo-image/provider最右侧的列表中选择1.0版本。
      镜像仓库命名空间edas-demo-image中的镜像edas-demo-image/provider ,及其版本1.0均为EDAS为您提供的Demo镜像,不可更改。
    8. Pod总数右侧的调整框中输入1
    9. 单Pod资源配额右侧将CPU核数内存(MB)分别设置为12048
  6. 应用高级设置页签单击创建应用
    应用高级设置包含一系列高级设置,您可以根据实际体验需求进行设置,详情请参见K8s用户指南中应用部署的高级配置章节
  7. 应用创建完成页签确认应用基本信息应用配置应用高级设置,然后单击确定创建应用

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

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

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

结果验证

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

  1. 应用总览页面上方单击负载均衡(公网):右侧的图标。
  2. 负载均衡(公网)对话框中设置SLB和监听参数,然后单击确认
    添加SLB
    1. 选择 SLB右侧列表中选择新建slb
      如果您有SLB实例,可以在列表中选择SLB实例。
    2. TCP | HTTP 协议右侧单击+ 添加新的监听,然后将SLB端口和容器端口分别设置为8018082
    添加公网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