【发布时间】:2019-11-16 02:49:39
【问题描述】:
我创建了一个基于 cpu 使用情况的水平自动缩放器,它工作正常。我想知道如何配置自动缩放器,使其只放大而不缩小?我想要这样的事情的原因是,当我有高负载/请求时,我创建了一些操作符,但我想让它们保持活力,即使在一段时间内它们不做任何事情,但自动缩放器会杀死 pod 并缩小到如果没有负载,则在某个时间后的最小副本数。
我的自动缩放器:
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: gateway
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: gateway
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 20
编辑: 操作员是指在 pod 中运行的小型应用程序/程序。
【问题讨论】:
-
运营商是什么意思?它是为有状态容器执行后处理步骤的框架吗?
-
您为什么不简单地将 pod 的最小数量锁定在您希望拥有的值?如果您的 targetCpu 为 20,您可能会遇到另一个问题......您可能希望使用另一个值作为放大目标......
-
我编辑了我的问题并添加了我所说的操作员的意思。 @night-gold 我不想保留资源,我只想在需要时进行扩展,但我想让那些在扩展 pod 中运行的小程序保持活力,以防我再次需要它们,比如 10-20分钟。我发现了这些标志:
--horizontal-pod-autoscaler-downscale-stabilization和--horizontal-pod-autoscaler-downscale-delay,我认为它们有助于解决我的问题。那 20 只用于测试和基准测试,而不是用于生产。
标签: kubernetes autoscaling kubernetes-pod