POD复制品如何缩小Kubernetes水平POD Autoscaler的工作



我的理解是,如果将targetCPUUtilizationPercentage字段设置为50%,则在Kubernetes中,使用水平POD Autoscaler时,并且所有POD的复制品的平均CPU利用率高于该值,高于该值,HPA将创建更多的复制品。一旦平均CPU在一段时间内下降到50%以下,它将降低复制品的数量。


这是我不确定的部分:
如果POD上的CPU利用率为10%,不是0%?HPA仍会终止复制品吗?
10%CPU并不多,但是由于不是0%,当前某些任务当前正在运行那个豆荚。如果这是一项持久的任务(几秒钟(,而HPA决定终止POD,则该任务将无法完成。

仅当HPA上的CPU利用率为0%时,HPA才会终止POD,或者只要看到该值低于targetCPUUtilizationPercentage,它是否会终止它们?

HPA如何决定要卸下哪些豆荚?
谢谢!

,因此您有两个问题,让我一个一个问题。第一部分 - 如果复制品集中的豆荚正在消耗10%,那么Kubernetes会杀死该豆荚吗?答案是肯定的。Kubernetes并不是要查看单个豆荚,而是在该复制品集中的所有POD中平均使用该指标。另外,按照此处解释

逐渐缩小的缩小是逐渐的

问题的第二部分 - 当吊舱即将被杀死并且仍在满足某些请求时,您的应用程序如何优雅地行事?这可以通过POD终止的宽限期来处理,如果您实现PreStop挂钩,则可以更好地处理 - 这将使您可以做一些停止接入请求,但要处理现有请求之类的事情。实现此功能会根据您使用的语言运行时而有所不同,因此我不会在此处详细介绍。

最后 - 您应该考虑的一种情况是,如果POD正在运行的VM突然下降 - 您没有机会执行Prestop Hook!我认为该应用程序需要足够强大才能处理失败。

最新更新