pko*_*out 7 autoscaling kubernetes kubernetes-hpa
我的理解是,在Kubernetes中,当使用Horizontal Pod Autoscaler时,如果targetCPUUtilizationPercentage字段设置为50%,并且所有pod副本的平均CPU利用率高于该值,则HPA将创建更多副本.一旦平均CPU降低到50%以下一段时间,它将降低副本数量.这是我不确定的部分.如果pod上的CPU利用率是10%而不是0%怎么办?HPA是否仍会终止副本?10%的CPU并不多,但由于它不是0%,因此当前正在该pod上运行某些任务.如果这是一项持久的任务(几秒钟)并且HPA决定终止pod,则该任务将无法完成.HPA是否仅在它们的CPU利用率为0%时才终止pod,或者只要它看到该值低于0时终止它们targetCPUUtilizationPercentage?HPA如何决定删除哪些pod?谢谢!
Vis*_*ani 14
所以你有两个问题让我逐个解决.第一部分 - 如果副本集中的一个pod正在消耗让我们说10%那么Kubernetes会杀掉那个pod吗?答案是肯定的.Kubernetes不会查看单个pod,而是查看该副本集中所有pod的平均值.此处按比例缩小也是渐进的
问题的第二部分 - 当一个pod即将被杀死并且仍在提供某些请求时,你的应用程序如何正常运行?这可以通过pod终止的宽限期来处理,如果你实现一个PreStop钩子,它会更好- 这将允许你做一些事情,比如停止接收传入请求但处理现有请求.这个的实现会因您使用的语言运行时而异,所以我不会在这里详细介绍.
最后 - 您应该考虑的一个方案是,如果运行哪个pod的VM突然崩溃 - 您没有机会执行PreStop挂钩!我认为应用程序需要足够强大以处理故障.
| 归档时间: |
|
| 查看次数: |
2699 次 |
| 最近记录: |