Kubernetes动态配置CPU资源限制

xyhw6mcr  于 2022-12-03  发布在  Kubernetes
关注(0)|答案(2)|浏览(170)

Kubernetes CPU管理器提供了一种静态配置CPU资源限制的方法。但是,在某些情况下,这可能会导致集群资源的浪费,例如,一个应用程序可能在启动时需要大量的CPU,稍后分配的资源就不再需要了,在这种情况下优化CPU并降低CPU限制是有意义的。我认为Kubernetes目前还没有提供对这种情况的支持。我想知道是否有任何解决办法来解决这个问题,CPU管理器依赖于CFS,从技术上讲,在Kubernetes使用初始CPU限制创建pod后,不可能动态修改系统配置(例如cpu.cfs_quota_us)?

v1l68za4

v1l68za41#

您可以使用VerticalPodAutoscaler来实现这一点。您需要为此定义一个CustomResource,详细说明要定位哪些单元以及要使用的策略:例如:

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: my-app-vpa
spec:
  targetRef:
    apiVersion: "apps/v1"
    kind:       Deployment
    name:       my-app
  updatePolicy:
    updateMode: "Auto"

有关安装和使用VPA的更多详细信息:https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler

njthzxwz

njthzxwz2#

post似乎给予了解决方案或重置cpu限制而不重新启动POD。
还有一个MultiDimentionalAutoScaler,它似乎是非常通用的,可以处理很多情况下,你可能需要利用

相关问题