Я добавил некоторые политики масштабирования к своему 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