全部产品
云市场

在 ECS 集群中部署 Java Web 应用

更新时间:2019-07-15 17:58:05

一个 ECS 只能部署一个ECS 集群应用。发布 ECS 集群应用是指在 ECS 实例上安装 EDAS Container,然后将应用通过 WAR 包或 JAR 包部署到 EDAS Container 中。

本文档将指导您在 EDAS 控制台上创建并用 WAR 包来部署更新和查看管理一个仅包含欢迎页面的 Java Web 应用。

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

  • 在 EDAS 控制台创建 ECS 集群应用
  • 将 ECS 集群应用部署到网站上
  • 更新已发布的 ECS 集群应用
  • 验证已发布应用
  • 管理应用

前提准备

完成本教程中的步骤需要完成以下前提任务:

  1. 开通 EDAS 服务
  2. 创建 VPC
  3. 创建命名空间
  4. 创建 ECS 集群
  5. 同步 SLB 到 EDAS:仅当你需要配置负载均衡时需完成该配置。

创建 ECS 集群应用

  1. 登录 EDAS 控制台

  2. 在左侧导航栏,单击应用管理 > 应用列表,在应用列表页面上方选择命名空间。

  3. 在应用列表页面右上角,单击创建应用

  4. 在创建应用对话框中,输入应用相关信息。设置完成后单击创建空应用则创建了一个未包含实例的应用,单击下一步则进入应用部署配置页面。

    创建ECS应用

    • 命名空间:在左侧下拉列表中选择地域,在右侧下拉列表选择命名空间。如果不选择会自动设置命名空间为默认
    • 集群类型:在左侧下拉列表中选择集群类型为 ECS 集群,在右侧下拉列表选择一个具体的 ECS 集群。
    • 应用名称:输入应用名称。
    • 应用部署方式:选择 ECS 集群后,您可以选择 WAR 包部署JAR 包部署
    • 应用运行环境
      • WAR 包部署:如果您创建的是原生应用,请选择 Apache Tomcat;如果您创建的是 HSF 应用,请选择 EDAS-Container
      • JAR 包部署:如果您创建的是原生应用,请选择 标准 Java 应用运行环境;如果您创建的是 HSF 应用,请选择 EDAS-Container
    • Java 环境:选择 Open JDK 8Open JDK 7
    • 应用描述:填写应用的基本情况,输入的描述信息不超过 128 个字符。
  5. 应用配置页面,添加实例,按照页面指示进行配置。完成设置后单击确认创建

    • 实例来源:在 ECS 集群中,您有三种方式添加实例。(若您没有选择实例,单击创建空应用,可以创建一个未包含实例的应用,后续可以通过应用扩容来添加实例后进行部署。)

      • 从集群选择:单击选定实例列表右侧的新增按钮,在弹出的实例列表页面中选择应用所在集群内的空闲实例,单击 > 添加到右侧区域,然后单击确定
      • 基于现有实例规格创建

        1. 单击模板主机右侧的选择主机按钮。
        2. 在弹出的选择模板主机对话框中选择集群内的任一实例作为模板,选择回收模式,然后在对话框右下角单击确定
        3. 应用配置页签内,配置实例的登录密钥购买数量,并勾选《云服务器 ECS 服务条款》 | 《镜像商品使用条款》
      • 使用启动模板创建

        1. 单击启动模板右侧的选择模板按钮。
        2. 在弹出的选择启动模板对话框内选择实例的创建模板和模板版本,并选择回收模式,然后在对话框右下角单击确定
        3. 应用配置页签内,配置实例的购买数量,并勾选《云服务器 ECS 服务条款》 | 《镜像商品使用条款》
    • 是否立即部署:选择实例后才可点击打开。点击打开后按照界面进行配置。

      ECS-War-deploy

    • 文件上传方式:可选择上传 WAR 包 WAR 包地址两种方式来上传。

      • 上传 WAR 包:单击选择文件,选择您要进行部署的 WAR 包上传。
      • WAR 包地址:复制 WAR 包的存放地址,将该地址粘贴在 WAR 包地址栏中。

        注意:应用部署程序包名仅允许字母、数字,及中划线( - )、下划线( _ )两个特殊符号,同时选择部署版本支持 JAR 部署时才允许上传 JAR 包,否则只支持 WAR 包部署应用。

    • 版本:设置版本(如:1.1.0),不建议用时间戳作为版本号。

    • 应用健康检查(可选):设置应用健康检查的 URL。应用的健康会在容器启动后/运行时检查应用的状态是否正常,会根据应用的健康检查结果来执行服务路由。设置参考示例为 http://127.0.0.1:8080/_etc.html

    • 批次:设置批次,只有当您选择的实例数 ≥ 2 时,您才可以选择分批次数并分批发布。

    • 分批方式:选择自动手动。当您选择自动时,您需设置分批时间,分批时间即为分批部署的时间间隔。
  6. 应用创建可能需要几分钟,请您耐心等待。创建完成后可以前往应用详情页查看应用。在应用详情页中实例部署信息页签查看实例的运行状态。如果运行状态/时间为正常运行,说明应用发布成功。

部署应用和更新应用

如果在创建应用时只创建了一个空应用,则可以在应用详情页单击部署应用进行发布,如果在创建应用时已完成部署,则可通过部署应用来更新应用。

  1. EDAS 控制台左侧导航栏中单击应用管理 > 应用列表,在应用列表页面单击您要部署的应用名称,进入应用详情页面。

  2. 实例部署信息查看应用是否有可用的实例,如果没有可运行的实例,则单击应用扩容为应用添加至少一个实例。

  3. 单击部署应用,根据界面指示配置部署参数并单击发布

    部署应用

    • 应用部署方式
      • 全新部署的应用:您可选择 WAR 包部署JAR 包部署历史版本来进行部署。
      • 部署升级的应用:您可选择第一次的部署方式或历史版本来进行部署。
    • 文件上传方式:(此处以 WAR 包部署示例)可选择上传 WAR 包 WAR 包地址两种方式来上传。
      • 上传 WAR 包:单击选择文件,选择您要进行部署的 WAR 包上传。
      • WAR 包地址:将 WAR 包的保存地址粘贴在 WAR 包地址栏中。
    • 请填写版本:设置版本(如:1.2.0),建议不用时间戳作为版本号。
    • 分组:选择分组。
    • 批次:设置批次,如果选择2次以上的批次,需要设置分批时间
    • 分批方式:选择自动。
    • Java 环境(可选):选择 JRE 8JRE 7
    • 应用描述(可选):描述可以为空,描述此次发布的目的。限制在128字符以内。
    • 生成 Maven 插件配置:您可生成 Maven 插件配置然后根据通过 toolkit-maven-plugin 插件自动化部署应用进行应用部署。
  4. 应用在重新部署后,会跳转到变更详情页面,查看部署流程和执行日志。部署流程执行完成后,执行状态变为执行成功则表示部署成功。

验证应用发布结果

应用发布后,你可以通过查看实例运行状态或登录负载均衡配置网址来验证应用已成功发布。

查看应用实例运行状态

在应用详情页中实例部署信息页签查看 ECS 实例的运行状态。如果运行状态/时间为运行正常,说明应用发布成功。

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

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

  1. 在基本信息页面的应用设置区域,点击负载均衡(公网)右侧的添加

  2. 添加 SLB 与应用的绑定对话框中,设置负载均衡参数,然后点击配置负载均衡完成配置。

    配置负载均衡

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

    应用欢迎页面

管理 ECS 集群应用

  1. 登录 EDAS 控制台

  2. 在左侧导航栏中单击应用管理 > 应用列表,在应用列表页面单击具体应用名称,进入应用详情页面。

  3. 在该页面可以执行基本的管理任务,例如浏览、设置、停止、启动、扩容、回滚和删除。

    管理普通应用