我在Kubernetes中使用了水平荚自动缩放器,如下所示。我想将其用于可在4到40个副本之间扩展的服务。不幸的是,由于升级延迟,从4个副本扩展到40个副本大约需要一个小时。我是否有可能提供诸如“最小/最大浪涌”之类的东西来升级高档副本?这样至少可以升级2或4个副本?
我的API对象(头盔):
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: {{ required "A valid service.name entry required!" .Values.service.name }}
labels:
app: {{ .Values.service.name }}
version: {{ .Values.image.tag | quote }}
chart: {{ template "nodejs.chart" . }}
release: "{{ .Release.Name }}-{{ .Values.image.tag }}"
heritage: {{ .Release.Service }}
spec:
scaleTargetRef:
apiVersion: apps/v1beta1
kind: Deployment
name: {{ required "A valid service.name entry required!" .Values.service.name }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
- type: Resource
resource:
name: cpu
targetAverageValue: {{ required "A valid autoscaling.cpuTargetValue entry is required" .Values.autoscaling.cpuTargetValue }}
- type: Resource
resource:
name: memory
targetAverageValue: {{ required "A valid autoscaling.memoryTargetValue entry is required" .Values.autoscaling.memoryTargetValue }}
答案 0 :(得分:1)
不是。看来您担心 th撞。确实没有一种方法可以定义一个高档的 step 编号和一个冷静期。
直到Kubernetes 1.11,您都可以在kube-controller-manager上指定--horizontal-pod-autoscaler-upscale-delay
,默认为3分钟。这可能还不够,所以我创建了这个issue
因此,从Kubernetes 1.12开始,该选项已被删除,取而代之的是better scaling algorithm。