测试时间:2022-11-2
环境:本地测试环境
测试反馈如下(非专业,个人观点):
1,新代码提交缺少状态同步
代码或者功能 push后 最好把变更集成到AppStack的应用的概览里,携带代码diff 入口当然最好。
能让研发/质量/产品同学一目了然。
目前只能在flow流水线里发布的时候查看。比如分支模式下有新提交代码提示。
但也没有最新代码变更记录比如携带commit等,还是需要去codeup里二次确认提交状态。
2,缺少整体流水线布局
缺少分支管理(目前只能在需求管理找到)。
存在一次或多次代码提交,需要合并分支发布,但目前只能去流水线的分支管理去添加,
其次各个环境和流水线目前是缺少直观关联的,最好能在一个页面里把这些整合起来。
之前RDC的流水线发布就比较清楚。待提交分支,当前发布分支,当前流水线发布状态,和各个环境的流水线全在一个界面,这样的布局发布起来就非常清楚。因为发布者不太可能是1-2个人,会存在信息盲区。
3,环境产物版本区分
建议 版本单里添加环境参数,比如开发、测试、生产等区分。这样回滚的时候能很快触达,现在要进部署工单去确认。
运维工单里环境区分不太明显,可以加强标记。
4,应用克隆
建议支持一键克隆应用。
主要克隆该应用下 所有环境配置,比如流水线、环境、变量组。
对批量迁移新项目非常友好。
5,编排yaml可以滞空
部分应用 已经存在在ACK上 了,如果迁移到AppStack,初始化这个应用时,需要配置Deployment/service等配置,这样会覆盖已有应用。同步配置比较麻烦 也担心出错,如果是生产环境,还是比较费心力的。
如果读取 ACK的应用当前配置再同步到模版估计比较麻烦。希望滞空,默认不同步。
同时一旦选择了编排内容组件后,不支持更换新组件。
比如我选择了configmap,再更换deployment和service就不支持。只能删除应用后重新配置组件。
6,ASK部署无法自动更新后端服务器
因为模版只同步了Deployment和Service配置,Ingress都是自己创建的。
之前我们项目在ASK上这3个yaml都是统一模版创建的,Flow部署完,后端ALB都会自动更新服务器,但使用AppStack后每次得手动去绑定后端服务器。
确定2个应用的ingress 配置都是一样的,测试了几次都是这样,目前还不清楚问题出在哪,估计是ingress到SLB的绑定有问题。
7,不支持OpenKruise相关组件
目前 查看组件类型只有少许资源。不支持CloneSet 、Advanced StatefulSet等workload。希望也能支持下。
8,资源池Agent 安装问题。
提示安装成功但其实失败。
重试也是一样。
应该是 pod 未启动
过了 2 分钟后 pod启动成功,此时刷新页面Agent 为正常运行状态。
最好给用户提示下,如何确认Agent状态,不然一些同学会一直尝试重新安装。或者可以多次尝试回调pod状态,处于ready后再返回提示安装成功。
9,HPA配置后升级问题
设置HPA cpu 50%触发最大副本4个
但一升级 就自动弹到最大4个副本了
建议 升级部署期间 临时屏蔽HPA功能
10,部署策略修改
部署策略 后续修改比较困难,没有找到修改的入口,只能删除应用重新建。
貌似AppStack本不支持分批发布和滚动升级策略的切换?
11,环境部署问题
环境里貌似没有关联流水线,这里点击部署 总有点奇怪。
有时候代码push后不知道先点流水线还是点环境里的部署。
如果存在部署单,点击部署,则直接对当前的deployment/service初始化,重启容器。
因为image.backend是 latest的。 如果不是,那就麻烦咯,直接回滚版本了。
如果不存在,则要求完善配置
点击提交后,开始部署到集群里。但新项目第一次部署,大部分情况不存在 真实的环境构建产物包,所以部署也是失败的。只能手动终止。
还有一点。
部署策略不会自动临时保存数据,切到上一步部署内容后,返回就初始化了,需要重新配置。
12,分批部署超时失败
分批发布 进行第二批的时候出现超时情况。(回滚后,重新发起分批部署,情况依旧。应该是个bug)
部署选项是 2 批发布,不暂停,共2批,每批1台,同时有个HPA CPU 60%扩容。
流水线显示超时,但工单还在部署状态
之后就报错。
deployment 2个版本共存,没有变化。
不清楚哪里问题,日志没有看到错误反馈。
开始回滚
开始第二次重新部署,情况依旧
回滚后,继续第三次分批发布测试。
此次删除了HPA配置。
部署选项配置如下(同上未修改):
此次部署成功。
看样子问题出在HPA上。有可能部署的时候因为容器 cpu飙升触发了HPA监控CPU的阈值,弹性扩容和分批发布的个数有冲突。
13,其它建议:
1,应用最好有分组,及对应授权,方便多个BU之间项目管理
2,是否支持接入函数计算发布
后面部分场景 有可能往FC转,FC本地Serverless Devs工具发布,不太规范。是否可以有AppStack这种可视化发布生命周期?