请问云效配置了容器自动伸缩HPA会导致分批发布失败,有办法处理没有?
以下为热心网友提供的参考意见
云效配置了容器自动伸缩HPA可能会导致分批发布失败,这主要是由于云效配置了容器自动伸缩HPA可能会导致分批发布失败,这主要是由于HPA(Horizontal Pod Autoscaler)在扩容过程中存在的“扩容死区”问题。当资源的使用率达到上限(Request=Limit)时,即使实际利用率超过90%,由于HPA的默认容忍度为10%,因此指标变化幅度小于容忍度时,HPA会忽略本次扩/缩动作。这就可能导致在某些情况下,即使应用的实际负载增加,Kubernetes也不会触发扩容操作,从而导致服务性能下降,甚至出现服务中断的情况。
为了解决这个问题,您可以尝试以下方法:
-
调整HPA的期望利用率。当资源使用率达到上限时,避免设置过高的期望利用率,一来可以避免扩容死区;二来被动扩容有一定的迟滞时间,留下更多的缓冲余量以应对突增流量。
-
通过设置禁止缩容或禁止扩容的策略,可以控制HPA的伸缩行为。例如,您可以选择禁用给定方向的扩容或缩容,从而达到只进行扩容或者只进行缩容的目的。
-
考虑使用其他的自动化伸缩策略,如VPA(Vertical Pod Autoscaler)等,根据应用的实际需求和负载情况,选择合适的自动伸缩策略。