【问题标题】:k8s HorizontalPodAutoscaler - set target on limit, not requestk8s HorizontalPodAutoscaler - 在限制上设置目标,而不是请求
【发布时间】:2021-03-17 00:40:17
【问题描述】:
我有一个 cpu 请求为 500m 且 cpu 限制为 1000m 的部署。
我创建一个 hpa 作为 -
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 80
这会根据 cpu 请求进行计算。有没有办法让它查看 CPU 限制?
【问题讨论】:
标签:
kubernetes
autoscaling
hpa
【解决方案1】:
如果您为限制和请求设置不同的值,则您将它们设置为“突发性”。这在 Kubernetes 中的意思是“这个应用程序非常重要,并且可能超出其正常的目标使用量”。您应该将请求设置为正常限制并根据它们进行扩展。实际限制通过限制 pod 功能来提供基础设施安全。
这就是为什么您应该首先将请求和限制设置为相同的值。如果您对此有疑问(例如 pod 启动需要比需要多一点或扩展发生缓慢),您应该设置突发范围,但仍将请求视为正常限制(更像是软限制/硬限制)。
答案是否定的,你不能。因为你看错了。