升级/回滚应用

升级应用

应用升级包括三种方式,具体解释请查看应用升级。应用支持的升级方式与应用所在资源有关,详情如下:

表-1 支持的升级方式说明

应用访问方式是否配置了应用域名

应用所在资源

支持的升级方式

多个虚拟机实例

滚动升级、灰度升级

容器集群

滚动升级、灰度升级

一个虚拟机实例

替换升级、灰度升级

多个虚拟机实例

滚动升级

容器集群

滚动升级

一个虚拟机实例

替换升级

 

对于有状态的应用,不支持灰度升级。

 

  1. 在顶部导航栏中单击[企业应用]菜单项。

  1. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面。

  1. 单击应用名称链接,进入应用详情页面。

  1. 单击页面右上角的<升级>按钮,弹出升级窗口。

  1. 配置参数,单击<确定>按钮完成操作。对于容器应用,升级时还可以修改应用高级配置属性,关于高级属性的说明,请参见下表3.

表-2 参数说明

参数

说明

升级策略

可选的升级策略请参考上表介绍。

软件包版本

选择部署应用时使用的软件包对应的用于升级的版本。

通过Helmyaml编辑部署的应用,软件包升级时可根据需要从镜像仓库的镜像包中选择。

当前应用版本

应用当前的版本号,不可修改。

目标应用版本

升级到的应用版本。可包含大写字母、小写字母、数字和特殊字符.,且只能以字母和数字开头和结尾,长度136个字。

JVM参数

仅主机应用支持配置,可选配置项。

环境变量

设置应用运行环境中所需的一些变量。支持单个添加;也支持批量的快速添加,即单击<快速添加>按钮,输入格式为key=value形式的配置,多个配置之间用空格或者换行隔开。

  • 变量名:容器中具有实际意义的字段。

  • 值:该字段的分类或具体值。

权重

灰度升级时展示该参数,用于设置分配给新版本的流量比。比如应用从v2升级到v3,权重为3,则将有3%的流量分配给新版本处理。

批次

部署在虚拟机实例上的应用,且选择滚动升级方式,则支持批次升级,即实例分批次完成升级。

例如,100台虚拟机实例,如果批次设置为5,那么滚动升级将每次升级20台左右,直到最后升级完成,共5个批次。

 

表-3 高级配置

参数

说明

更新分段值

设置有状态应用升级的起始Pod序号。对于有状态的应用,其下的Pod是按序号生成的,在进行升级时,仅升级序号大于等于该参数指定值的Pod

启动命令

设置容器启动和运行命令。

存储卷

给容器挂载额外存储,适用于需持久化存储,高磁盘IO等应用场景。

如需使用,需提前创建存储卷。关于存储卷创建步骤请参考“初始配置-Paas服务-系统管理员配置-对接资源-配置存储卷”。

配置项

选择应用需要使用的配置项,即配置项中创建的配置。

  • 配置/版本:通过配置项名称和版本筛选配置项。

  • Key:通过key匹配配置数据,支持单选,也支持选择“所有key”,一次性挂载全部配置数据。

  • 挂载路径:指定配置数据在应用中挂载的路径,即目录。

密钥

选择应用需要使用的密钥,即密钥中创建的密钥。

  • 密钥文件:通过密钥名称匹配密钥文件。

  • 挂载路径:指定密钥在应用中挂载的路径,即目录。

亲和性

  • 节点亲和性:一种容器的调度策略,用户可以自定义选择Pod被调度的节点。

  • 应用亲和性/应用反亲和性:一种容器的调度策略,决定工作负载的Pod和哪些工作负载的Pod部署在同一个拓扑域。

健康检查

用于判断容器和业务是否正常运行,包括存活性检查和可用性检查。

  • 存活性检查:用于检测容器是否存活,类似于执行ps命令检查进程是否存在。如果存活性检查失败,集群会对容器执行重启操作;反之则不执行任何操作。

  • 可用性检查:用于检测容器是否准备好开始处理用户请求。如果容器的就绪检查成功,集群会开放对该容器的访问;若检查失败,集群会屏蔽该容器。

  • Command:执行一个命令,如果命令返回为0则说明容器正常,如果为非0则说明容器异常。该方式需要在容器中集成相关脚本或程序。

  • httpGet:执行一个http请求,如果返回的http状态码介于200400之间则说明容器正常,否则则说明容器异常。httpGet检查方式适用于容器可以提供http服务的场景。

  • tcpSocket:该方式通过对TCP服务的连通状态进行检测,与容器内的应用建立Socket连接,如果可以建立成功则说明容器正常,否则则说明容器异常。

  • 超时时间:请求超时时间,最小值为1(单位:秒)。

  • 初次监测延时:执行第一次健康检查前等待的时间(单位:秒)。

  • 路径:健康检查的路径。

  • 协议方式:httpGet的协议方式,支持httphttps

  • 端口:健康检查的端口号。

  • 脚本:健康检查的路径脚本。

容器权限

配置容器的权限。

  • 特权容器:选择是否开启特权。在特权模式下运行的容器,容器中的进程实质上等同于主机上的以root身份运行。

  • Host Network/PID/IPC:选择是否使用主机的网络/PID/IPC命名空间。

  • Read Only Root Filesystem:是否开启根文件系统只读权限。

  • 运行用户Uid:配置用户的Uid,容器以该用户的权限运行。

  • Linux内核能力:在下拉框中选择Linux内核支持的权限,如修改文件属主的权限等。

技术运营

技术运营是从业务应用全局为视角,基于业务整体的健康度对系统运行状态进行全方位监控和统计,包括基础设施、微服务、基础中间件、服务网关、链路架构等,为企业运维人员提供指标分析型工具。当本系统已部署“技术组件”云服务时,可配置本参数。

  • 当部署软件包类型为War包、Jar包,且本系统已部署技术运营服务时需配置此参数,选择“是”,将支持通过[云服务/应用服务/技术运营]对部署后的应用及其所在应用组进行运行情况监控。

  • 当部署软件包类型为容器镜像、Helm包、传统软件包时,如需使用技术运营服务,需参考联机帮助中“技术运营/快速入门/准备工作”在软件包中引入SDKskywalkingagent

  • 技术运营仅支持监控使用Java语言开发的应用。

 

回滚应用

若应用升级失败或因业务需要需退回至应用的某个历史版本,可执行本操作。

  1. 在顶部导航栏中单击[企业应用]菜单项。

  1. 在左侧导航树中单击[应用管理/应用列表]菜单项,进入应用管理页面。或单击[应用管理/应用组]菜单项,进入应用组管理页面,单击应用组名称进入应用组详情页面。

  1. 单击应用名称链接,进入应用详情页面。

  1. 单击页面右上角的<回滚>按钮,弹出回滚窗口,查看所有历史版本。

  1. 单击所需历史版本操作栏的<回退到该版本>按钮,弹出确认窗口。

  1. 单击<确定>按钮完成操作。