通过控制台快速在K8s集群中部署Spring Cloud和Dubbo应用

为了帮助您快速体验如何在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. 创建应用向导的应用基本信息页签设置应用的基本信息,然后单击下一步

    配置项

    操作

    集群类型

    选择Kubernetes集群

    应用运行环境

    • 托管应用类型:选择Java

    • 选择应用:选择自定义

  5. 应用配置页签,配置应用的环境并选择Demo镜像,然后单击下一步

    说明

    如果您是RAM用户且使用企业版容器镜像仓库里的镜像创建应用时,需要阿里云账号为该RAM用户授权。具体信息,请参见RAM授权信息

    应用配置-K8s

    配置项

    操作

    微服务空间

    选择默认

    说明

    本文旨在帮助您体验在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)分别设置为12048

  6. 应用高级设置页签,单击创建应用

    应用高级设置包含一系列高级设置,您可以根据实际体验需求进行设置。具体操作,请参见高级配置

  7. 应用创建完成页签,确认应用基本信息应用配置应用高级设置,然后单击确定创建应用

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

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

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

结果验证

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

  1. 应用列表页面,单击已创建的服务消费者Consumer的应用名称,进入应用总览页面。

  2. 应用总览页面访问方式配置区域,单击负载均衡(公网)右侧的图标。

  3. 负载均衡(公网)对话框,设置SLB和监听参数,然后单击确认

    添加SLB

    1. 选择SLB右侧列表,选择新建SLB

      如果您有SLB实例,可以在列表中选择SLB实例。

    2. TCP | HTTP 协议右侧,单击添加新的监听,然后将SLB端口和容器端口分别设置为8018082

      重要

      请按照以下操作为应用配置TCP|HTTP协议,配置其一即可访问。

      • 服务消费者Consumer:TCP|HTTP协议区域的容器端口(Target port)配置为18082

      • 服务提供者Provider:TCP|HTTP协议区域的容器端口(Target port)配置为18081

      如果您为服务消费者Consumer配置端口为18081,那么Web页面是不可访问的。

    3. 单击确认

    添加公网SLB大概需要30秒。添加完成后,访问方式配置区域的负载均衡(公网)右侧会显示公网SLB的地址,格式为SLB实例IP:端口

  4. 复制公网SLB地址,在浏览器中地址栏粘贴并访问该地址。

    进入到客户端应用的Web页面。访问客户端应用

  5. 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