一个 ECS 只能创建并部署一个应用。在 ECS 集群中创建 Java Web 应用是指在 ECS 实例上安装 EDAS Container,然后将应用通过 WAR 包或 JAR 包部署到 EDAS Container 中。本文档将指导您在 EDAS 控制台上创建并用 WAR 包来部署一个仅包含欢迎页面的 Java Web 应用。

前提条件

完成本教程中的步骤需要完成以下任务:
  1. 开通 EDAS
  2. 创建 VPC
  3. 创建命名空间
  4. 创建 ECS 集群
  5. 同步 SLB 到 EDAS:仅当需要配置负载均衡时需完成该配置。

背景信息

通过本文档,将了解如何:

在 ECS 集群中创建应用

  1. 登录 EDAS 控制台
  2. 在左侧导航栏中选择应用管理 > 应用列表
  3. 应用列表应用列表页面左上角单击创建应用
    默认会进入新版创建应用页面,新版创建应用的操作步骤请参见快速创建 Demo 微服务应用简介。本文介绍旧版的创建应用。
  4. 创建应用页面右上角单击切换回老版
  5. 在创建应用流程的应用基本信息页面中,输入应用基本信息,然后单击下一步进入应用部署配置页面。
    edas-AppDeploy-ECS-createAPP.png

    应用基本信息参数说明:

    参数 描述
    命名空间 命名空间操作步骤:在左侧列表中选择地域,在右侧列表中选择命名空间。如果未选择命名空间,则使用默认命名空间。
    集群类型 集群类型:在左侧列表中选择 ECS 集群,在右侧列表中选择一个具体的 ECS 集群。
    应用部署方式 应用部署方式类型:选择 ECS 集群后,您可以选择 WAR 包部署JAR 包部署
    应用运行环境 应用运行环境类型
    • WAR 包部署
      • 如果创建 Spring Cloud 或 Dubbo 应用,请选择 Apache Tomcat
      • 如果创建 HSF 应用,请选择 EDAS-Container
    • JAR 包部署
      • 如果创建 Spring Cloud 或 Dubbo 应用,请选择 标准 Java 应用运行环境
      • 如果创建 HSF 应用,请选择 EDAS-Container
    Java 环境 Java环境类型:选择 Open JDK 8Open JDK 7
    应用描述(可选) 应用描述:填写应用的基本情况,输入的描述信息不超过 128 个字符。
    创建空应用 创建空应用:创建一个未包含实例和程序部署包的应用。此后,需要在空应用中进行部署,详情请参见部署和更新应用
  6. 应用配置页面,按照页面指示添加实例,完成后单击确认创建
    1. 选择实例来源
      在 ECS 集群中,您可以通过三种实例来源添加实例。
      • 从集群选择:单击选定实例列表右侧的新增按钮,在弹出的实例列表页面中选择应用所在集群内的空闲实例,单击 > 添加到右侧区域,然后单击确定
      • 基于现有实例规格创建
        1. 单击模板主机右侧的选择主机按钮。
        2. 在弹出的选择模板主机对话框中选择集群内的任一实例作为模板,选择回收模式,然后在对话框右下角单击确定
        3. 应用配置页签内,配置实例的登录密钥购买数量,并勾选《云服务器 ECS 服务条款》和《镜像商品使用条款》。
      • 使用启动模板创建

        1. 单击启动模板右侧的选择模板按钮。
        2. 在弹出的选择启动模板对话框内选择实例的创建模板和模板版本,并选择回收模式,然后在对话框右下角单击确定
        3. 应用配置页签内,配置实例的购买数量,并勾选**《云服务器 ECS 服务条款》 | 《镜像商品使用条款》**。
      说明 若您没有选择实例,单击创建空应用可以创建一个未包含实例和部署包的应用,后续可以通过扩容后再进行部署。详情请参见扩容部署在 ECS 集群中的应用部署和更新应用
    2. 在添加实例后,打开是否立即部署开关,设置部署参数,然后单击确认创建
      是否立即部署

      部署参数说明:

      参数 描述
      文件上传方式 文件上传方式:选择上传 WAR 包WAR 包地址
      • 上传 WAR 包:单击选择文件,选择并上传要进行部署的 WAR 包。
      • WAR 包地址:复制 WAR 包的存放地址,将该地址粘贴在 WAR 包地址栏中。
      版本 版本设置:设置版本号(如:1.1.0),不建议用时间戳作为版本号。
      应用健康检查(可选) 设置应用健康检查的 URL:应用的健康会在容器启动后/运行时检查应用的状态是否正常,会根据应用的健康检查结果来执行服务路由。设置参考示例为 http://127.0.0.1:8080/_etc.html。
      说明 应用部署程序包名仅允许字母、数字,及中划线“-” 、下划线“_”两个特殊符号,同时选择部署版本支持 JAR 部署时才允许上传 JAR 包,否则只支持 WAR 包部署应用。
    应用创建需要几分钟,请您耐心等待。创建完成后可以前往应用详情页查看应用。在应用详情页中实例部署信息页签查看实例的运行状态。如果运行状态/时间为正常运行,说明应用发布成功。

部署和更新应用

  1. 登录 EDAS 控制台
  2. 在左侧导航栏中选择应用管理 > 应用列表
  3. 应用列表页面单击具体应用名称。
  4. 在应用的基本信息页面单击实例部署信息,查看应用是否有可用的实例。如果没有可运行的实例,请单击应用扩容为应用添加至少一个实例。详情请参见扩容部署在 ECS 集群中的应用
  5. 基本信息页面右上角单击部署应用
  6. 部署模式选择页面常规发布(单批/多批)区域右上角单击开始部署
  7. 常规发布(单批/多批)页面设置部署参数和发布策略,然后单击确定
    部署应用

    部署和发布策略参数说明:

    参数 参数信息 描述
    基本信息 应用部署方式 应用部署方式选择:您只能选择创建应用或上一次部署时指定的部署方式,也可以选择历史版本来进行部署。
    文件上传方式 文件上传方式:选择上传 WAR 包WAR 包地址
    • 上传 WAR 包:单击选择文件,选择并上传要进行部署的 WAR 包。
    • WAR 包地址:复制 WAR 包的存放地址,将该地址粘贴在 WAR 包地址栏中。
    版本 版本设置:设置版本号(如:1.1.0),不建议用时间戳作为版本号。
    描述(可选) 应用描述:描述此次发布的目的,限制在 128 字符以内。描述可以为空。
    发布策略 分组 分组选择:选择部署应用的实例分组。
    每组批次 选择每组的实例分几批发布。例如:该应用包含默认分组 A(2个实例),分组 B(10个实例)和分组 C(5个实例)。
    • 如果每组批次为 1,分批等待时间为自动,不可设置。
    • 如果每组批次为 2 及以上,可以设置分批等待时间。
    分批等待时间 每批实例发布的时间间隔。
    • 场景 1:选择所有分组,每组批次以各分组中最多的实例个数作为最大批次,即分组 B,10 批次。
    • 场景 2:选择指定分组 C,每组批次最大为分组 C 下 ECS 实例的个数,也就是 5 批次。
    Java 环境(可选) Java 环境选择:您可选择 JRE 8JRE 7
    生成 Maven 插件配置 您可生成 Maven 插件配置,然后将应用部署至 EDAS。具体部署详情请参见通过 Maven 插件自动化部署应用至 ECS 集群
    说明 应用部署程序包名仅允许字母、数字,及中划线“-” 、下划线“_”两个特殊符号,同时选择部署版本支持 JAR 部署时才允许上传 JAR 包,否则只支持 WAR 包部署应用。
    应用在重新部署后,会跳转到变更详情页面,查看部署流程和执行日志。部署流程执行完成后,执行状态变为执行成功则表示部署成功。

配置公网负载均衡并访问应用

由于是在专有网络内创建发布的应用,如果没有特别配置,该应用没有公网 IP 地址。如果您的应用部署在多个 ECS 实例上,并且希望将您的应用对外开放,建议您配置公网负载均衡,以便将应用的访问流量根据转发策略分发到 ECS 实例中,增强应用的服务能力,提升应用的可用性。

  1. 基本信息页面的应用设置区域,单击负载均衡(公网)右侧的添加
  2. 添加 SLB 与应用的绑定对话框中,设置负载均衡参数,然后单击配置负载均衡完成配置。create SLB

    负载均衡参数说明:

    参数 描述
    负载均衡(公网) 在右侧的下拉菜单中,根据实际需求,选择内网或公网的 SLB 地址。
    使用虚拟服务器组 虚拟服务器组是一组处理负载均衡分发的前端请求的 ECS 实例。不同的监听可以关联不同的虚拟服务器组,实现监听维度的请求转发。如果您勾选了使用虚拟服务器组,则需要配置虚拟服务器组参数。
    虚拟服务器组名称 如果您选择了新建虚拟服务器组,则需要在此处输入虚拟服务器组名称。系统会按照您输入的名称为您创建虚拟服务器组。
    监听(外网) 负载均衡服务监听规定了如何将请求转发给后端服务器。一个负载均衡实例至少添加一个监听。您可以在监听右侧的下拉菜单中选择已创建的监听端口。如果您没有创建监听,单击创建新监听。请勿在服务均衡管理控制台上删除该监听,否则将影响应用访问。
    SLB 前端协议 默认为 TCP,不可配置。
    SLB 前端端口 输入 SLB 的前端端口,可自行设置端口数值。
    应用端口 默认为 8080,不可配置。
  3. 复制配置的 SLB IP 及端口,如118.31.159.169:81 ,在浏览器的地址中粘贴并回车,即可进入应用的欢迎页面。edas-hello-app.png