Я установил кластер rabbitmq с помощью Helm Chart. Rabbitmq использует наборы состояний, есть ли способ автоматически масштабировать это?
Еще один вопрос, как развернуть автоматическое масштабирование (HPA) с PVC?
Я установил кластер rabbitmq с помощью Helm Chart. Rabbitmq использует наборы состояний, есть ли способ автоматически масштабировать это?
Еще один вопрос, как развернуть автоматическое масштабирование (HPA) с PVC?
StatefulSets можно автоматически масштабировать с помощью HPA:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
annotations:
name: some-service
spec:
maxReplicas: 4
metrics:
- resource:
name: memory
targetAverageUtilization: 80
type: Resource
- resource:
name: cpu
targetAverageUtilization: 80
type: Resource
minReplicas: 2
scaleTargetRef:
apiVersion: apps/v1
kind: StatefulSet
name: some-service
Что касается PVC, StatefulSets и HPA - я не уверен, но думаю, что это зависит от reclaimPolicy of StorageClass вашего PVC. Просто убедитесь, что у вас есть reclaimPolicy: Retain
в определении StorageClass. Имея это, вы должны сохранить данные о масштабировании событий.
Если вы имеете в виду развертывания с HPA и PVC - это должно работать, но всегда помните, что если у вас есть несколько реплик с одним общим PVC - все реплики будут пытаться его смонтировать. Если PVC - это ReadWriteMany - проблем быть не должно. Если это ReadWriteOnce - то все реплики будут запланированы на одном узле. Если на узле недостаточно ресурсов для размещения всех реплик - вы навсегда получите несколько модулей в состоянии ожидания.