如何防止 Kubernetes horizontal auto-scaler 缩容?
How to prevent Kubernetes horizontal auto-scaler from scaling down?
我已经根据 cpu 用法创建了一个水平自动缩放器,它工作正常。我想知道如何配置自动缩放器,使其在不缩小的情况下扩大规模?我想要这样的东西的原因是当我有很高的 load/request 我创建了一些运算符但我想让它们保持活力,即使在一段时间内它们什么都不做,但自动缩放器会杀死 pods 并在没有负载的情况下缩小到最小副本数。
我的自动缩放器:
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
编辑:
对于运算符,我的意思是小 applications/programs 是一个 pod 中的 运行。
您可以将 --horizontal-pod-autoscaler-downscale-stabilization
标记添加到 kube-controller-manager,如 in docs 所述。默认延迟设置为 5 分钟。
要在主节点上向 kube-controller-manager 编辑 /etc/kubernetes/manifests/kube-controller-manager.yaml
添加标记,然后将重新创建 pod。
我已经根据 cpu 用法创建了一个水平自动缩放器,它工作正常。我想知道如何配置自动缩放器,使其在不缩小的情况下扩大规模?我想要这样的东西的原因是当我有很高的 load/request 我创建了一些运算符但我想让它们保持活力,即使在一段时间内它们什么都不做,但自动缩放器会杀死 pods 并在没有负载的情况下缩小到最小副本数。
我的自动缩放器:
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
编辑: 对于运算符,我的意思是小 applications/programs 是一个 pod 中的 运行。
您可以将 --horizontal-pod-autoscaler-downscale-stabilization
标记添加到 kube-controller-manager,如 in docs 所述。默认延迟设置为 5 分钟。
要在主节点上向 kube-controller-manager 编辑 /etc/kubernetes/manifests/kube-controller-manager.yaml
添加标记,然后将重新创建 pod。