在线业务极致伸缩、CPU 利用率达 60%,涂鸦的云原生资源优化实践
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-jing.png)
背景
涂鸦云原生平台在容器化基础上,已通过监控分析、弹性伸缩等手段降低k8s集群成本,但资源使用仍有优化空间。面对成本与稳定性的对立,需精细优化资源同时保障应用稳定性。通过扩展k8s功能,进一步降低成本且提升稳定性。
弹性伸缩挑战与解决方案
弹性伸缩面临的挑战包括Java应用启动时间长、kafka消费者应用重平衡等。其解决方案为引入keda和crane的EHPA,实现通过自定义业务指标的弹性伸缩,以及固定的定时弹性扩缩容策略。案例显示EHPA通过流量预测实现提前扩容,定制业务指标精准扩容,定时扩缩容精确控制。
在线业务节点无损缩容挑战与解决方案
面临在线业务节点无损缩容挑战,社区的cluster-autoscaler组件被用于解决。方案包括调整集群默认调度策略和弹性节点组的扩缩容方案,以实现低峰期缩容时减少对服务的影响,高峰期快速扩容。
负载差异平衡挑战与解决方案
为平衡节点间负载差异,采用了调度策略,引入scheduler-plugins项目的Trimaran插件优化,并结合descheduler进行重调度。
多AZ部署弹性伸缩调度挑战与解决方案
针对多可用区部署的服务,通过调度策略和重调度解决了Pod的可用区分布均衡、扩缩容时的可用区选择和均衡分布维持问题。
成果
实施上述方案后,集群的整体状况显著改善,如美国区节点组资源水位维持在95%,实际CPU使用率日均在60%以上,弹性伸缩的CPU核数占比显著。
总结和展望
基于kubegrus平台,计划持续优化功能降低使用门槛,并围绕故障恢复、调度能力和云原生架构升级等方向提供更完善的云原生解决方案。
作者简介
毛琦,涂鸦智能云原生开发工程师,关注云原生领域技术。
相关项目地址
想要了解更多内容?
![](/theme/default/default/images/main/icon-jing.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)