操作场景
在虚拟机服务集群中部署应用,您需要先在 TSF 控制台中创建好虚拟机集群和命名空间,再使用应用程序包来部署应用。本文介绍在容器服务集群中部署应用的操作方法。
前提条件
已准备好应用程序包。
操作步骤
步骤1:创建应用
1. 登录 TSF 控制台。
2. 在左侧导航栏,单击 应用管理。
3. 在应用列表左上方,单击新建应用。设置应用信息后,单击提交完成创建。
应用名:填写应用名称,最长60个字符,只能包含小写字母、数字及分隔符(“-”、“_”),且不能以分隔符开头或结尾。
部署方式:选择虚拟机部署。
业务类型:选择业务应用,微服务网关应用部署操作请参见 部署微服务网关。
开发语言:选择您的开发语言。
说明
开发框架:选择您的开发框架。
应用类型:
普通应用:适用于 Spring Cloud 或者 Dubbo 应用。
Mesh 应用:适用于 Service Mesh 方式接入。
原生应用:适用于 Spring Cloud 原生应用
标签:用于分类管理资源,可不选。详情参见 标签。
数据集:选择“无”。用户可以通过数据集管理配置不同的子账号和协作者使用不同资源的权限,详情参阅 数据集管理。
备注:选填,可留空。
4. 单击提交,在弹窗中选择导入程序包,跳转至上传程序包页面。如果选择关闭,您后续可以在应用详情页面选择程序包管理页签,重新上传程序包。
步骤2:上传程序包
1. 在左侧导航栏选择应用管理,单击刚刚创建好的应用 ID/应用名。
2. 在应用详情页,选择程序包管理标签页,单击上传程序包。
程序包类型:可选择jar包,war包,tar.gz/zip压缩包。
上传程序包:单击选择文件,选择提前准备好的压缩包。程序包格式说明参见 程序包格式说明。
程序包版本:填写版本号
备注:填写备注
3. 单击提交,程序包上传成功后出现在程序包列表中。
步骤3:部署应用
1. 在左侧导航栏选择应用管理,单击刚刚创建好的应用 ID/应用名。
2. 在应用部署组页面,单击新建部署组,填写部署组信息。
部署组名称:填写部署组名称,不超过60个字符,只能包含字母、数字及分隔符(“-”),且必须以字母开头,数字或字母结尾。
集群:选择应用要部署所在的集群。
命名空间:选择应用要部署所在的命名空间。
关联应用:选择部署组关联的应用。关联应用字段决定了后续程序包来源和应用配置来源。
日志配置项:选择日志配置项,用于采集应用的业务日志数据。
日志投递:指定日志的转储方式,将规则指定路径中的日志内容投递到指定的接收端。如果配置为"无",将不投递业务日志。更多关于日志投递的功能说明请参见 日志投递。
标签:用于分类管理资源,可不选。详情参见 标签。
备注:选填,可留空。
3. 单击保存&下一步,从关联集群的可用云主机列表勾选用于部署的云主机。
4. 单击部署应用,设置部署信息。
5. 选择目标程序包版本。
程序包类型 | 说明 |
jar | 启动命令固定为 java -jar;支持 JDK 版本 KNOA JDK8,KNOA JDK11,KNOA JDK11,OPEN JDK8 和 OPEN JDK17;支持用户设置启动参数 |
war | 启动命令固定为 java -jar,支持用户设置启动参数 |
zip/tar.gz | 程序包类型为 zip/tar.gz 时,支持 JDK 版本 KNOA JDK8,KNOA JDK11,KNOA JDK11,OPEN JDK8 和 OPEN JDK17;支持 启停脚本配置。 使用本地 start.sh 和 stop.sh:默认方式 控制台配置:需要填写启动脚本和停止脚本(推荐) |
说明:
当用户切换运行环境,在部署组动态更新 JDK 运行版本,且重启部署组后生效。
6. (可选)设置启动参数。
说明
如果部署组关联的应用是 Mesh 应用,则无须设置启动参数。
同时打开 TSF Consul 配置中心和北极星独占配置中心开关时:TSF Consul配置中心的优先级更高。
仅打开 TSF Consul 配置中心开关,关闭北极星独占配置中心时,需要添加启动参数:
-Dspring.cloud.polaris.config.enabled=false
仅打开北极星独占配置中心开关,关闭TSF Consul 配置中心时,需要添加启动参数:
-Dspring.cloud.consul.config.enabled=false
在打开北极星独占配置中心时,还需配置北极星地址的参数:
-Dspring.cloud.polaris.address=grpc://xx.xx.xx.xx:xxxx
7. (可选)选择健康检查方式。关于健康检查的作用和配置详情参见 健康检查。
注意
当部署组内的实例 agent 版本不支持存活检查和就绪检查时,不能开启检查功能,请升级 agent 到最新版本。参见 应用管理相关。
当部署组内的多个实例 agent 版本不一致时,不能开启检查功能。只有当所有实例的 agent 的版本支持存活检查和就绪检查才开启该特性。
健康检查方式 | 说明 |
存活检查 | 检查应用是否正常,不正常则重启实例 |
就绪健康 | 检查应用是否就绪,不就绪会影响滚动更新。 |
存活检查的检查方式:
检查方式 | 说明 |
HTTP 请求检查 | 任何大于200小于400的返回码都会认定是成功的返回码。其他返回码都会被认为是失败的返回码。HTTP 检查需要设置端口和请求路径。 |
TCP 端口检查 | 如果可以建立连接被认为是成功的。该检查方式需要设置检查端口。 |
执行命令检查 | 如果命令执行成功并且返回值为 0,认为是成功;其他返回值认为是失败。该检查方式需要填写执行命令。 |
高级参数:
参数 | 说明 | 参数范围 |
启动延时 | 延时启动健康检查的时间 | 最小值为0,默认值为10 |
超时时间 | 每次健康检查响应的最大超时时间 | 最小值为1,默认值为2 |
检查周期 | 进行健康检查的时间间隔 | 最小值为1, 默认值为10 |
健康阈值 | 表示从失败到成功的连续健康检查成功次数 | 存活检查不支持编辑,只能为1就绪检查支持编辑:最小值为1,默认值为1 |
不健康阈值 | 表示从成功到失败的连续健康检查成功次数 | 最小值为1,默认值为3 |
8. 选择更新方式。
更新方式 | 说明 |
立即更新 | 会先停止所有运行实例,然后使用新的程序包版本部署,会造成发布期间短暂停服。 |
滚动更新 | 当部署组内有多个实例时,可以选择滚动更新方式进行分批发布。滚动更新支持设置发布策略: beta 批次:是否首次用一个实例来部署新版本,如果部署成功,才会部署后面的批次实例。 批次 N 实例占比:除了 beta 批次,可以将部署组内剩余实例按百分比划分为多个批次部署,只有当批次 N 部署成功后才会继续部署批次 N+1。 分批执行方式:批次之间可以选择自动或手动方式来开启下一批次的部署。 分批间健康检查:开启后,单批次中全部实例通过就绪检查后,再执行下一批次。 分批等待时间:如果分批执行方式选择自动时,等待分批等待时间后会自动部署下一批次。 |
9. 设置服务预热策略。当更新方式选择滚动更新时,建议开启服务预热,关于服务预热的作用和配置详情参见 服务预热。
10. (可选)填写描述信息。
11. (可选)开启强制启动,开启强制启动则实例忽视 consul 服务注册报错信息正常启动。
12. 设置 Agent 配置信息。请选择需要挂载的 Agent,并填写版本号,如不填写将默认为您安装最新稳定版本。
注意
当前仅支持普通应用、Mesh 应用和原生应用类型,不支持微服务网关应用。
服务 Agent:包含注册发现、治理与配置能力。如您使用 Spring Cloud 2020,且未依赖 TSF SDK,请勾选本选项。
可观测 Agent:如您使用 Spring Cloud 2020,请勾选本选项。相关开发文档,请参见 使用 Agent 进行无侵入应用开发。
13. 单击完成。应用部署成功后,部署组中的 已启动/总机器数 数值发生变化。