Kubernetes CPU管理器提供了一种静态配置CPU资源限制的方法。但是,在某些情况下,这可能会导致集群资源的浪费,例如,一个应用程序可能在启动时需要大量的CPU,稍后分配的资源就不再需要了,在这种情况下优化CPU并降低CPU限制是有意义的。我认为Kubernetes目前还没有提供对这种情况的支持。我想知道是否有任何解决办法来解决这个问题,CPU管理器依赖于CFS,从技术上讲,在Kubernetes使用初始CPU限制创建pod后,不可能动态修改系统配置(例如cpu.cfs_quota_us
)?
2条答案
按热度按时间v1l68za41#
您可以使用VerticalPodAutoscaler来实现这一点。您需要为此定义一个CustomResource,详细说明要定位哪些单元以及要使用的策略:例如:
有关安装和使用VPA的更多详细信息:https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler
njthzxwz2#
此post似乎给予了解决方案或重置cpu限制而不重新启动POD。
还有一个MultiDimentionalAutoScaler,它似乎是非常通用的,可以处理很多情况下,你可能需要利用