1.1 产品升级
一次完整的产品升级流程如图1-1所示,从云游globle导出需要升级的解决方案和镜像包,然后在当前local环境导入。导入解决方案后,在通过建立发布单进行解决方案部署。本文主要通过MGS的产品升级的一次升级实操演示,可以方便读者学习掌握mPaaS产品升级的基本操作方法,其他产品升级的步骤整体上类似,只是需要确认的参数不同、验证的手段不同。
图1‑1 产品升级流程
1.1.1 升级影响
(1)本次变更预计耗时1小时左右;
(2)在升级的期间可能会部分的RPC请求失败,请尽量在业务低峰期进行操作;
(3)变更期间请尽量避免在mPaaS控制台上进行相关操作;
1.1.2 环境检查
(1)版本信息
产品名称 |
当前版本 |
目标版本 |
目标版本集 |
拓扑 |
规格 |
MGS |
1.29.0 |
1.29.6 |
mPaaS 1.8.4 |
标准单机房部署 |
标准生产-单机房 |
(2)资源情况
资源类型 |
所属应用 |
当前版本 |
目标版本 |
服务器 |
mpaasgw |
4C/8GB/100GB * 2 |
4C/8GB/100GB * 2 |
负载均衡 |
mpaas-mgs-inner-lb-0 |
HTTP 80 -> 8081 |
HTTP 80 -> 8081 |
负载均衡 |
mpaas-mgs-outer-lb-1 |
HTTP 80 -> 80 |
HTTP 80 -> 80 |
数据库 |
mpaas-mgs-rdb |
mpaasgw |
mpaasgw |
1.1.3 升级步骤
1.导入镜像
将本次升级所需的镜像压缩包和json文件上传至跳板机/tmp目录,对比文件MD5值无误后执行以下命令进行导入,如图1-2所示。镜像导入结束后,请删除源文件,避免镜像文件太大占用了磁盘空间。
图1‑2 镜像导入
2.导入解决方案
登录Local云游-->导入解决方案-->点击或者拖拽上传(下载好的json)。如图1-3所示。
图1‑3 解决方案导入
3.确认数据库规划和负载均衡规划
在云游--交付升级里找到新导入的解决方案,然后在解决方案元数据--数据库规划/负载均衡规划里分别进行确认。
4.参数确认
(1)导入解决方案之后查看该解决方案元数据--参数查看应用启动参数,若存在参数冲突,在参数配置-解决参数冲突里选择当前值。
(2)点击上图中的渲染参数。
图1‑4 渲染参数
5.发布部署
(1)击解决方案,检查参数和镜像变化
在该页面下降鼠标放在后面的感叹号上,会显示出当前基线和新的解决方案直接的参数差异,请将该页面进行截图,把截图发回给蚂蚁的技术支持进行确认,确认无误后再进行下一步发布;
(2)点击批量发布,选择需要发布的应用执行发布。
(3)需要注意开启Beta分组的开关,部署策略需要设置为分两组后开始部署应用。
(4)发布完第一个beta分组之后,先按照下面的服务端功能检查步骤,检查发布完的这台节点功能是否正常
确认发布没有问题之后在点击确认发布下一个分组,如果有问题的需要及时进行回滚
(5)产品发布成功后会提示解决方案部署成功。
图1‑5 发布部署
1.1.4 验证方案
1.服务端功能检查
(1)进入MGS容器执行以下命令检查MGS服务是否正常。
#ps -ef | grep java #检查java服务是否启动
#ps -ef | grep nginx #检查nginx进程是否启动
#netstat -natlp | grep -E '80|12200|8080' #检查80/8080/12200端口是否监听
#curl http://localhost:9500/checkService | grep false #没有返回带false的内容代表正常
图1‑6 端口检查
图1‑7 服务检查
(2)进入MGS容器执行以下命令检查客户业务系统API请求是否正常。
#cd /home/admin/logs/gateway #进入网关日志目录
#tail -f gateway-page-digest.log #检查是否请求正常处理
#grep -v ",1000," gateway-page-digest.log | tail -50 #查询最近50条非1000状态码的日志
图1‑8 API检查
(3)在控制台如附件位置找一个激活状态并且后端业务系统服务正常的API做一次APITEST,网关地址填写刚刚升级的MGS容器IP,看是否可以正常返回1000状态码。网关地址填写刚刚升级的beta分组发布完的容器内网IP。查看返回结果是否为1000。
图1‑9 API验证
2.页面登录检查
登录mAppCenter的页面,检查移动网关的相关的页面是否都能正常打开。
3. MHS功能验证
使用MHS执行mgs移动网关相关测试用例,需要确保所有测试用例都能运行通过.
图1‑10 MHS验证
4.业务检查
从客户的APP发起RPC网关的业务,验证相关接口是否都能正常通信,验证期间查看gateway-page-digest.log日志有没有实时打印。
图1‑11 业务验证
1.1.5 回滚方案
1. 回滚发布单
在云游中找到刚刚执行的升级变更单,找到mpaasgw的应用,然后点击回滚,选择本次部署前版本
2. 执行功能检查
等待回滚的发布单执行完成之后,参考“验证方法”中的功能验证进行服务的检查。
1.2 产品扩容
通过MGS的扩容的一次实操,期望读者同学能够掌握mPaaS产品扩容的基本操作方法,其他产品扩容的步骤整体上类似,只是需要确认的参数不同、验证的手段不同。
1. 变更影响
本次变更理论上是对业务无影响。
2. 环境检查
1)登录云游检查MGS容器个数
登录云游界面,点击【产品运维】,搜索MGS,点击MGS的应用,查看容器个数
图1‑12 环境检查
3. 变更方案
(1)登录云游管控平台对MGS容器进行扩容
登录云游管控平台,点击【产品运维】,搜索MGS,点击应用,点击应用容器
图1‑13 操作扩容
(2)点击【应用扩容】,将扩容数量调整为2,点击【确定】按钮,如图1-14所示
图1‑14 设置扩容数量
(3)新建运维单,点击【应用扩容】,然后单击【确认】按钮。
(4)待成功时请根据验证方案进行验证。
4 验证方案
(1)进入MGS新扩容的容器执行以下命令检查MGS服务是否正常。
#ps -ef | grep java #检查java服务是否启动
#ps -ef | grep nginx #检查nginx进程是否启动
#netstat -natlp | grep -E '80|12200|8080' #检查80/8080/12200端口是否监听
#curl http://localhost:9500/checkService | grep false #没有返回带false的内容代表正常
图1‑15 进程检查
图1‑16 端口检查
(2)进入MGS容器执行以下命令检查客户业务系统API请求是否正常。
#cd /home/admin/logs/gateway #进入网关日志目录
#tail -f gateway-page-digest.log #检查是否请求正常处理
#grep -v ",1000," gateway-page-digest.log | tail -50 #查询最近50条非1000状态码的日志
5. 回滚方案
在云游-产品运维里搜索MGS,将新增的容器下线。
图1‑17 回滚
1.3 本章小结
本章主要通过产品升级和扩容方案的详细介绍,详细介绍了mPaaS的日常运维操作,方便读者快速熟悉基于云游进行日常的一些运维操作。