ops-itop/itop-extensions

定时扩缩容

annProg opened this issue · 2 comments

HPA适用于面向最终用户的一般互联网应用,负载增加降低都比较平缓。
考虑如下情况,电视客户端有某种定时任务行为,在半夜3点低峰期(已应用HPA缩容至最低实例数量),突然流量翻了好几倍,持续大约1分钟,HPA根本来不及扩容。
这种做法不太合理,但是也有迁就的方案。考虑添加cmdb对象管理定时扩容,通过cmdb定时任务,

  • 每5分钟检查未来7分钟(大于5分钟,防止漏掉2次检查之间的)有无扩容任务,如有,修改HPA对象(HPA对象需记录原min值)min值,实现扩容
  • 每5分钟检查未来7分钟有无缩容任务,如有,恢复HPA原min值

问题:
如何更新HPA? 当在cmdb有自定义HPA对象时,可以通过cmdb触发器触发kubernetes.php脚本去更新k8s对象,但是使用默认HPA策略(不在cmdb中自定义hpa策略)时,需要考虑如何触发k8s更新

需要先做好 #70