Можно ли применять HPA для Statefulset в kubernetes?
Я пытаюсь настроить HPA для моего набора состояний (для эластичного поиска) в среде Kubernetes. Я планирую масштабировать набор состояний с использованием процессора. Я создал сервер метрик из https://github.com/stefanprodan/k8s-prom-hpa/tree/master/metrics-server.
и мой HPA yaml для statefulset выглядит следующим образом:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: dz-es-cluster
spec:
scaleTargetRef:
apiVersion: extensions/v1beta1
kind: StatefulSet
name: dz-es-cluster
minReplicas: 2
maxReplicas: 3
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 80
Но получим вывод в hpa следующим образом:
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale False FailedGetScale the HPA controller was unable to get the target's current scale: the server could not find the requested resource
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedGetScale 1m (x71 over 36m) horizontal-pod-autoscaler the server could not find the requested resource
кто-нибудь, пожалуйста, помогите мне..
1 ответ
Решение
Поддержка автоматического масштабирования наборов состояний с использованием HPA добавлена в kubernetes 1.9, поэтому ваша версия не поддерживает ее. После kubernetes 1.9 вы можете автоматически масштабировать наборы состояний с помощью:
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: YOUR_HPA_NAME
spec:
maxReplicas: 3
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: StatefulSet
name: YOUR_STATEFUL_SET_NAME
targetCPUUtilizationPercentage: 80
Пожалуйста, обратитесь к следующей ссылке для получения дополнительной информации: