Horizo​​ntalPodAutoscaler多个副本高档

时间:2018-10-04 12:15:15

标签: kubernetes

我在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 }}

1 个答案:

答案 0 :(得分:1)

不是。看来您担心 th撞。确实没有一种方法可以定义一个高档的 step 编号和一个冷静期。

直到Kubernetes 1.11,您都可以在kube-controller-manager上指定--horizontal-pod-autoscaler-upscale-delay,默认为3分钟。这可能还不够,所以我创建了这个issue

因此,从Kubernetes 1.12开始,该选项已被删除,取而代之的是better scaling algorithm