kubernetes(k8s)扩缩容(弹性伸缩)
·
https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00282.html
应用场景
企业应用的流量大小不是每时每刻都一样,有高峰,有低谷,如果每时每刻都要保持能够扛住高峰流量的机器数目,那么成本会很高。通常解决这个问题的办法就是根据流量大小或资源占用率自动调节机器的数量,也就是弹性伸缩。 当使用Pod/容器部署应用时,通常会设置容器的申请/限制值来确定可使用的资源上限,以避免在流量高峰期无限制地占用节点资源。然而,这种方法可能会存在资源瓶颈,达到资源使用上限后可能会导致应用出现异常。为了解决这个问题,可以通过伸缩Pod的数量来分摊每个应用实例的压力。如果增加Pod数量后,节点资源使用率上升到一定程度,继续扩容出来的Pod无法调度,则可以根据节点资源使用率继续伸缩节点数量。
解决方案
使用HPA(Horizontal Pod Autoscaling)和CA(Cluster AutoScaling)两种弹性伸缩策略,
- HPA负责工作负载弹性伸缩,也就是应用层面的弹性伸缩。
- CA负责节点弹性伸缩,也就是资源层面的弹性伸缩。
通常情况下,两者需要配合使用,因为HPA需要集群有足够的资源才能扩容成功,当集群资源不够时需要CA扩容节点,使得集群有足够资源;而当HPA缩容后集群会有大量空余资源,这时需要CA缩容节点释放资源,才不至于造成浪费。
更多推荐

所有评论(0)