本文分享自华为云社区《华为云从心打造CCE集群升级体验,助力集群高效运维管理》,作者:云容器大未来 。
在云原生时代浪潮的推动下,Kubernetes的发展日新月异,更新的集群版本可以带来更新的功能,助力用户打造更强大的云原生应用环境。然而,一直以来,如何让用户积极地升级集群版本,是业界公认的一个难题。
“我们想用K8s推出的新能力,也想保持整体集群的最新状态。但是我们那么多重要的应用跑在容器上,如何确保我的业务在集群升级过程不受任何影响呢?一旦出现问题,能快速修复吗?”,“我的集群版本比较老,想要升级到最新版本,升级过程可能会很长,担心可能对上层业务会有影响,且影响时长不可控”——这是CCE集群升级团队与用户交流过程中最常听到的几个问题。
为此,CCE集群升级团队深入分析并总结了集群升级的痛点问题,主要有以下三个方面:
- 在业务影响方面,传统升级中的替换升级或迁移升级均会导致业务Pod重建,从而影响到业务。
- 在升级稳定性和效率方面,Kubernetes集群系统复杂,影响升级稳定性因素众多;集群版本跨度较大时需要执行多次升级操作,升级时间较久,尤其在大规模集群升级场景,用户感知更为明显。
- 在交互体验方面,用户对升级流程缺乏全局掌控,尤其是升级流程中步骤较多,用户理解成本高。
图1 集群升级痛点
如何无损、快速、丝滑地升级集群是业界共同的难题。基于上述几个痛点,CCE产品团队从“过程业务无感”、“稳定高效升级”、“丝滑交互体验”等方面入手,打造焕然一新的集群升级体验。
过程业务无感
传统升级方式主要有节点替换升级和集群迁移升级,两种方式均会导致业务Pod重建,进而影响用户业务。华为云率先推出原地升级能力,只需更新CCE组件版本,节点无需任何变动,对集群中运行的Pod业务无任何影响,从而实现无损升级。同时,原地升级在速度上相比传统升级有大幅提升。
图2 传统升级和原地升级对比
同时,用户无需关注集群与插件版本的依赖关系,一键式升级将为您自动进行升级适配,省心省力。 此外,如果在升级过程中出现不可预期的情况,可以基于备份为用户实现快速恢复,使用户更容易掌控集群升级。
稳定高效升级
在升级稳定性提升方面,我们基于华为云上万次的升级经验沉淀,为用户提供了全方位的升级前检查项,检查项涵盖集群、节点、插件和应用、关键组件状态和配置、资源使用等方面,极大程度上为用户规避升级风险,实现稳定升级。同时,备份是业务连续性的重要保证,业界通用的Etcd备份方案存在无法备份集群组件和配置的问题,我们通过采用硬盘快照备份方案不仅为用户提供了完整的集群数据备份能力,且平均备份速度提升近10倍。
在升级效率方面,一方面由于Kubernetes社区只兼容相邻小版本,当版本跨度较大时,需要通过多次升级至最新版。我们为用户提供跨版本升级能力,最多支持跨4个大版本进行升级,如v1.23升级至v1.27,有效缩短用户升级路径,节约升级成本;另一方面,升级时间随着在集群规模正增长,我们在保证集群升级安全的前提下,最多支持100节点并发升级,让用户在更短的时间内完成集群节点升级,提高升级效率。
图3 简化集群升级路径图4 集群节点并发升级
丝滑交互体验
在升级引导方面,我们通过引导页面,给用户清晰直观呈现待升级集群的提示消息,让用户不会错过重要的升级通知。
图5 集群管理页面集群升级通知
为了降低用户理解成本,我们设计了升级小动画为用户阐述原地升级的概念和原理,帮助用户生动直观地了解集群升级流程和注意事项。
图6 集群升级动画
同时,我们推出了升级路径推荐功能,自动选择最佳的升级路径,并根据升级路径展示本次升级带来的特性更新和优化增强等。
图7 升级路径
在升级流程中,我们通过可视化的手段为用户详细呈现了升级的进度和异常情况,升级过程一目了然,使用户能掌控升级进度,降低焦虑。
图8 升级进度可视化
在升级检查异常时,我们基于不同资源汇聚了检查项信息,帮助用户快速查看异常项并提供修复建议,引导用户快速处理问题。
图9 升级异常诊断分析
在升级完成后,我们会帮助用户进行升级后自动验证,确保升级后的集群正常运行,节省用户时间和精力。
图10 自动健康诊断
未来愿景
欢迎您使用CCE集群升级功能,我们会持续在“过程业务无感”、“稳定高效升级”、“丝滑交互体验”等方面进行持续优化,让集群升级过程更简单、高效和可靠。期待您宝贵的使用意见。
服务体验请访问
- https://www.huaweicloud.com/product/cce.html
相关链接
-
https://support.huaweicloud.com/bulletin-cce/cce_bulletin_0067.html
-
https://bbs.huaweicloud.com/blogs/413984