Политика автоматического масштабирования в Kubernetes не работает - PullRequest
1 голос
/ 08 апреля 2020

Я добавил некоторые политики масштабирования к своему HorizontalPodAutoscaler , но они не применяются. Поведение scaleUp и scaleDown игнорируется. Мне нужен способ остановить масштабирование модулей каждые несколько минут в ответ на небольшие скачки ЦП. В идеале HPA должен быстро увеличиваться в ответ на большее количество трафика c, но медленно уменьшаться примерно через 30 минут уменьшенного трафика c.

Я выполняю это на кластере AWS EKS, и я настроить политики в соответствии с https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support -for-configurable-scaling-поведения .

Может ли это быть ограничением EKS или моей версии K8s, которая составляет 1.14. Я запустил kubectl api-versions, и мой кластер поддерживает autoscaling / v2beta2 .

Мой Helm spe c:

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: {{ template "app.fullname" . }}
  labels:
    app: {{ template "app.name" . }}
    chart: {{ template "app.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  scaleTargetRef:
    apiVersion: apps/v1beta2
    kind: Deployment
    name: "{{ template "app.fullname" . }}-server"
  minReplicas: {{ .Values.hpa.minReplicas }}
  maxReplicas: {{ .Values.hpa.maxReplicas }}
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: AverageValue
        averageValue: 200m
  behavior:
    scaleUp:
      stabilizationWindowSeconds: 300
      policies:
      - type: Pods
        value: 1
        periodSeconds: 300
    scaleDown:
      stabilizationWindowSeconds: 1200
      policies:
      - type: Pods
        value: 1
        periodSeconds: 300

1 Ответ

0 голосов
/ 22 апреля 2020

Как уже обсуждалось в комментариях, даже при включенном autoscaling/v2beta2 эта функция не будет работать в версии 1.14.

Начиная с v1.18 API v2beta2 позволяет масштабировать поведение, которое будет настроено через поле поведения HPA.

Самый простой выход из этого - обновить до 1.18.

...