26.使用HPA控制器动态扩展基础资源
应用资源的使用率通常和业务特性密切相关,其会有高峰和低谷的时候。如何削峰填谷、如何提高集群的整体资源利用率、如何让service中的Pod个数进行自动调整呢?
这就得依赖于Horizontal Pod Autoscaling(HPA控制器)了!
1.系统扩展浅谈
随着业务的快速发展,我们都会从以下两个维度来思考如何扩展系统,从而保证业务的稳定性:
1) 提升系统的单机处理能力 :又称垂直扩展
1> 增强单机硬件性能,例如:增加CPU的核数,由8核扩展到16核;升级更好的网卡,由千兆网卡升级到万兆网卡;升级更好的硬盘,如SSD;扩展硬盘的容量,如由500G升级到10T;扩展系统内存,如由16G升级到64G等。
2>提升单机架构的性能,例如:引入缓存机制Redis来减少IO次数;引入消息队列机制,来削峰填谷,用异步处理来增加单服务的吞吐量;用轻量级架构来减少服务的处理时间等等。
2)提升系统的横向扩展能力 :又称为水平扩展
系统单机的处理能力总是有极限的,我们可以通过增加服务器数量的方式,来线性扩充系统的性能。
传统架构如此,kubernetes体系中亦然,那我们一起来看一下吧。