CPU资源限制的Kubernetes动态配置

CPU资源限制的Kubernetes动态配置,kubernetes,linux-kernel,cpu-usage,Kubernetes,Linux Kernel,Cpu Usage,Kubernetes CPU管理器提供了一种配置CPU资源限制的方法。但是,在某些情况下,它可能会导致群集资源的浪费,例如,应用程序在启动期间可能需要大量CPU,以后不再需要分配的资源,在这种情况下优化CPU并降低CPU限制是有意义的。我认为Kubernetes目前还没有为这种情况提供支持,我想知道CPU管理器所依赖的是否有任何解决方案来解决这个问题,技术上不可能修改系统配置(例如,CPU.cfs\u quota\u),在Kubernetes使用初始CPU限制创建pod后,您可以使用Vertic

Kubernetes CPU管理器提供了一种配置CPU资源限制的方法。但是,在某些情况下,它可能会导致群集资源的浪费,例如,应用程序在启动期间可能需要大量CPU,以后不再需要分配的资源,在这种情况下优化CPU并降低CPU限制是有意义的。我认为Kubernetes目前还没有为这种情况提供支持,我想知道CPU管理器所依赖的是否有任何解决方案来解决这个问题,技术上不可能修改系统配置(例如,
CPU.cfs\u quota\u
),在Kubernetes使用初始CPU限制创建pod后,您可以使用VerticalPodAutoscaler来实现这一点。您需要为此定义一个CustomResource,详细说明要针对哪些POD以及要使用的策略: 例如:


有关安装和使用VPA的更多详细信息:

感谢您的建议。不幸的是,VPA不能解决我的问题,这主要与CPU消耗的启动突发有关,它必须破坏pod并重新创建它以垂直自动缩放它,这意味着在启动期间CPU将被节流或设置为大值,我正在寻找一种动态的方法来调整CPU限制,而无需重新创建pod。这里@RafikELYAAGOUBI运气好吗?我也面临着同样的问题。不幸的是,没有。这是不可能的,但现在有一个建议,加强这种性质,你可以审查
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"