You need to enable JavaScript to run this app.
导航

创建和部署托管应用(JAR /WAR)

最近更新时间2024.01.19 16:49:55

首次发布时间2023.08.22 11:04:57

本文为您介绍如何通过 JAR 包/WAR 包快速创建一个 Java 应用,并部署至 Kubernetes 集群。

前提条件

  • 已准备好应用的 JAR 包/WAR 包。

  • 已接入待部署的 Kubernetes 集群,具体操作请参见 接入部署资源

注意

若选择弹性容器实例部署应用,部署资源必须为网络模型为 VPC-CNI 的容器服务 VKE 集群,且集群中需提前安装 vci-virtual-kubelet 组件。

操作步骤

  1. 登录应用管理页面。

    1. 登录 持续交付控制台

    2. 在左侧导航栏选择 工作区

    3. 单击目标工作区名称,进入当前工作区。

    4. 在左侧导航栏选择 应用交付 > 应用管理

  2. 在应用管理页面,单击 创建应用

  3. 在创建应用页面,选择 应用托管,并按要求填写应用的相关配置信息。

    1. 填写 应用信息,填写完成后单击 下一步:基础配置
      alt

      配置项说明
      应用标识根据界面提示填写应用标识。应用标识是应用的唯一标识,创建后不可更改。
      应用显示名自定义应用的显示名称。
      应用技术栈本场景选择 Java
      描述填写当前应用的备注信息,可以为空。

      成员管理

      快捷配置当前应用的成员,并为每个成员配置不同的权限,满足多角色协作进行应用交付的需求。

      • 添加成员:为当前应用添加多个成员,仅支持选择拥有当前工作区可见权限的用户。系统将默认添加火山引擎账号(主账号)及应用创建者为管理员。

      • 权限:系统预置管理员、只读共两种角色。每个成员支持配置一个或多个角色的权限。

      说明

      不允许取消主账号的管理员权限,不允许删除主账号。

    2. 填写 基础配置,填写完成后单击 下一步:环境配置

      alt

      配置项说明
      部署方式本场景选择 二进制包

      应用包类型

      支持 JAR 包WAR 包 两种类型。

      • JAR 包:通用的 JAR 包部署,适用于 Dubbo 和 Spring Boot 应用。

        • Java 版本:选择 JAR 包的运行环境版本。当前支持 OpenJDK8、OpenJDK11、OpenJDK17。
      • WAR 包:通用的 WAR 包部署,适用于 Dubbo 和 Spring 应用。

        • 选择 WAR 包的运行环境版本,包括 Java 版本 和 Tomcat 版本。

        • Java 版本当前支持 OpenJDK8、OpenJDK11、OpenJDK17。

        • Tomcat 版本当前支持 Apache Tomcat 10.1.11、Apache Tomcat 9.0.78、Apache Tomcat 8.5.91、Apache Tomcat 7.0.109 。

      应用包本地上传应用的 JAR 包/WAR 包。最大支持 2G,文件格式必须为 *.jar*.war

      版本号

      自定义应用的版本号。
      可单击右侧的 版本号使用时间戳,自动生成版本号。

      弹性容器实例

      是否以弹性容器实例方式部署应用。使用该方式部署应用,无需管理底层云服务器等基础设施,只需提供镜像即可运行容器,并为实际消耗的资源付费。计费详情,请参见 弹性容器计费说明

      • 勾选,则以弹性容器实例方式部署应用。
      • 不勾选,则以普通 Kubernetes 方式部署应用。

      注意

      以弹性容器实例方式部署,当前仅适用于网络模型为 VPC-CNI 的容器服务 VKE 集群,且集群中需提前安装 vci-virtual-kubelet 组件。

      服务规格

      根据业务需求定义应用的服务规格,包括:实例数、每个实例的 CPU 和内存规格。支持 默认规格自定义规格

      • 默认规格:支持自定义实例数,并提供了常用的 CPU 和内存组合,请根据业务需要选择合适的组合。默认规格中,CPU 请求 = CPU 上限;内存请求 = 内存上限。
      • 自定义规格:如果默认规格不能满足您的需求,支持自定义规格,包括:自定义实例数、CPU 请求、CPU 上限、内存请求、内存上限。其中,CPU 请求 ≤ CPU 上限;内存请求 ≤ 内存上限。

      说明

      • 对于弹性容器实例方式部署,CPU 和内存只需定义上限。系统会根据您选择的上限,提供最相近的 VCI 实例规格。
      • 对于普通 Kubernetes 方式部署,CPU 和内存允许不限制资源上限。
    3. 填写 环境配置,填写完成后单击 下一步:高级配置

      alt

      配置项说明

      部署资源

      选择应用实际部署的位置,例如 Kubernetes 集群、云服务器、虚拟机、物理机等。当前仅支持 Kubernetes 集群类型的部署资源。

      注意

      若上一步勾选以弹性容器实例方式部署,仅允许选择网络模型为 VPC-CNI 的容器服务 VKE 集群。且集群中已安装 vci-virtual-kubelet 组件,否则无法进行下一步。

      Namespace选择具体的命名空间。Kubernetes 使用命名空间用于逻辑隔离,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。
      环境标识设置当前环境的唯一标识,默认使用${应用标识}-prod,支持自定义。环境标识创建成功后不支持修改。
    4. (可选)填写 高级配置

      alt

      • 启动命令
      配置项说明

      启动命令(JAR)

      • 启动命令:根据业务需求设置启动命令。默认命令 java -jar "$PACKAGE_PATH" $ARGS 可支持大多数场景。 其中,$PACKAGE_PATH表示 JAR 包上传至容器中的路径。

      • 启动参数:根据业务需求设置启动参数,可以为空。启动参数会填充至启动命令的$ARGS中。

      启动命令(WAR)

      • 启动命令:根据业务需求设置启动命令。默认命令CATALINA_OPTS="$OPTIONS" catalina.sh run可支持大多数场景。
      • 启动参数:根据业务需求设置启动参数,可以为空。启动参数会填充至启动命令的$OPTIONS中。

      Tomcat 配置(WAR)

      • 端口:设置应用的端口。默认为 8080,支持修改。

      • Tomcat Context:设置应用的访问路径。默认为/,支持修改。

      • 最大线程数:配置连接池的连接数大小,对应参数为 maxThreads。默认为 400,支持修改。

      • Tomcat 编码:选择 Tomcat 编码方式。支持 GBK、GB2312、ISO-8859-1(默认值)、UTF-8。

        • 使用 HTTP Body 编码 URL:开启后, URL 会使用与 HTTP Body 相同的编码方式。主要用于解决 URL 的请求参数中存在中文等特殊字符时出现的乱码问题。
      • 环境变量
      配置项说明

      环境变量

      按需配置环境变量。环境变量的信息会注入应用运行的环境中,以便在运行时动态地配置应用程序。
      单击 + 环境变量,输入环境变量的 key 和 value。

      • 健康检查
        当前为存活检查:检查容器是否正在运行,探测失败时会重启容器。
      配置项说明

      检查方式

      • HTTP 请求检查:使用 HTTP 或 HTTPS 协议,向容器发送一个 HTTP Get 请求,通过检查响应确认容器状态。您需要进行如下检查配置:

        • 协议:HTTP 或 HTTPS。

        • 请求头:HTTP 请求中自定义的请求头(HTTP Headers)。单击 添加, 输入请求头的 key 和 value。

        • 路径:输入业务代码中用于健康检查的访问路径。默认为/,支持修改。

        • 端口:输入应用的访问端口。默认为 8080,支持修改。

      • TCP 端口检查:向应用发送一个 TCP Socket,探测是否可正常建立连接。您需要进行如下检查配置:

        • 端口:输入应用的访问端口。默认为 8080,支持修改。

      时间设置

      配置检查的时间参数,包括:

      • 初始等待时间:指应用启动后,第一次执行探测时需要等待的时间,默认为 1 秒。

      • 超时时间:指发送检查请求后,等待响应的超时时间。超过此时间表示应用无响应,默认为 1 秒。

      • 检查间隔:相邻两次检查的时间间隔。默认为 10 秒。

      阈值设置

      配置检查的结果阈值,包括:

      • 成功阈值:检查请求发送后,表示系统正常的响应次数,默认为 1 次。该项不可配置。

      • 失败阈值:检查请求发送后,表示系统异常的无响应次数,默认为 3 次。即如果应用对请求 3 次无响应,则认为应用状态异常。

  4. 单击 确定,应用将开始部署。可在环境页签查看应用的部署进度。

    alt

操作结果

部署完成后,部署状态将变更为 已完成。可在实例列表页签查看部署的实例信息,运行状态为 running 表示部署成功。
alt

  • 单击 实时日志,可查看实例的实时日志信息,方便运维和排障。

后续操作

为应用创建 Service 资源,实现公网/私网访问。具体操作可参见 访问方式