Kubernetes动态配置CPU资源限制

问题描述 投票:0回答:3

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

    

kubernetes linux-kernel cpu-usage
3个回答
2
投票

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


1
投票
post

似乎给出了解决方案或在不重新启动POD的情况下重置CPU限制。 还有一个

MultiDimentionalAutoScaler

,它似乎非常通用,可以处理很多你可能需要使用的情况


0
投票
Kubernetes 1.27

引入了容器调整大小策略,它允许在修补限制时指定 Pod 的行为。例如: spec: containers: - name: demo image: nginx # ... resizePolicy: - resourceName: cpu restartPolicy: NotRequired - resourceName: memory restartPolicy: RestartContainer

由于(在撰写此答案时)此功能仍处于 alpha 状态,因此您的 k8s 提供商可能尚不可用。

© www.soinside.com 2019 - 2024. All rights reserved.