kubernetes之hpa(HorizontalPodAutoscaling)扩展实现memory支持

来源:互联网 发布:淘宝店铺复核秒过技术 编辑:程序博客网 时间:2024/05/22 10:33

kubernetes之hpa(HorizontalPodAutoscaling)扩展实现memory支持

我们的项目中目前的横向伸缩用的是hpa来实现,目前实现来定时横向伸缩和负载横向伸缩。在实际的项目中有很多客户有这样的需求,就是在对k8s的pod的横向扩展的时候,要求不光能按照cpu的使用百分比来进行伸缩pod的数量(对用户来说实际意义不到,据用户反馈,应用经常都是memory负载很高,而对应的cpu使用率很低),所以提出要求能按照容器的memory的使用负载来进行横向伸缩扩展。

分析

用过hpa(Horizontal Pod Autoscaling)的人都知道目前hpa仅支持cpu负载的自动伸缩,所以想要实现按照容器的memory来实现pod的横向伸缩是不可能实现的,所以就有啦在k8s原油的hpa的基础上增加memeory的横向伸缩。

实现思路

  • 在hpa对应的struct中添加对应的memory字段,期望的memory的使用百分比。
  • 在hpa的各个核心方法中加上对memory的阀值的一些判断
  • 猜测应该需要在对应的hpa的controller中去增加memory的阀值的一些操作判断。

目前还没开始做,明天开始用实际的代码去实现。等实现完之后就自己完全按照hpa的方式来自定义一个thirty_part resource(目前叫custom resource) 去实现。

原创粉丝点击