云效 K8s 集群部署 Agent 升级

更新时间:
复制 MD 格式

本次将 AppStack K8s 部署 Agent 从 vela-rollout 升级为 kruise-rollout,支持环境部署策略切换、兼容 HPA 弹性部署、优化错误信息展示,并提供资源拓扑观测功能。

升级目的

AppStack K8s 部署 Agent 全新升级(原 vela-rollout 升级为 kruise-rollout),升级后支持应用环境部署策略切换、兼容 HPA 等弹性水位部署场景、优化部署单中错误信息,以辅助问题排查等。Agent 升级后新功能详细描述如下:

新功能1:支持环境部署滚动升级、分批发布策略切换

  • 支持环境部署策略切换,包括滚动升级和分批发布,优化首次部署策略限制。

在环境设置弹窗的部署设置页签中,部署策略区域提供分批发布和滚动升级两个可切换的选项,选择分批发布时需设置分批数量。

新功能2:兼容 HPA 等弹性水位部署场景

  • 兼容 HPA 等弹性水位部署场景。

在环境设置弹窗中选择部署设置 Tab,将部署策略设置为非托管复本数。该模式针对 Deployment 工作负载,将使用应用编排与环境变量组渲染后的 YAML 直接下发部署,以渲染后 YAML 中的 replicas 为准,不做复本数强管控。HPA 等弹性水位场景建议使用该模式。

新功能3:支持以集群上的复本数为准,保证线上水位

  • 针对已有 Deployment 接入场景,若 YAML 中未指定 replicas,且集群上已存在该 Deployment,则以集群上的复本数为准,逐步更新 Pod 数量达到 m。

新功能4:增强资源可视化和问题诊断

支持部署单资源拓扑展示、资源详细信息观测、优化部署错误信息透出,辅助问题排查。部署单详情页展示了 emoji-minesweeper-test 应用的分批发布过程。部署策略为分3批发布(第1批1个、第2批1个、第3批2个),目标实例数为4,全部批次均已完成。部署进度区域下方的资源树以 Deployment → ReplicaSet → Pod 层级结构可视化展示资源拓扑关系,4个Pod均处于正常运行状态,可直观查看各Pod的创建时间与版本信息。

优化项:统一 Deployment 命名,去除版本后缀

应用环境新老版本发布保持 Deployment 工作负载名称不变(去除-Vn后缀版本)

升级方法

  1. 进入待升级的 K8s 集群(建议从测试集群开始升级),带有Upgrade 升级提示图标的集群为未升级过的集群,单击「重装」Agent 自动安装 kruise-rollout ,等待安装成功后,进入下一步。

  2. 进入上述 K8s 集群部署的应用环境,重新发起一次「部署」,等待部署成功后即完成升级。其他应用环境按实际发布节奏逐个升级。

说明

如果您在使用云效过程中有任何疑问,欢迎您通过提工单联系支持同学,或者加入云效客户权益群(钉钉群号:31241612 )进行反馈与咨询。