如何自动缩放舵图状态集

问题描述 投票:0回答:1

我使用helm图表安装了rabbitmq集群。 Rabbitmq使用状态集是否有任何方法可以自动扩展它?

还有一个问题,如何自动扩展(HPA)部署PVC?

docker kubernetes docker-compose kubernetes-helm kubernetes-pod
1个回答
4
投票

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 - 我不确定,但我认为这取决于PVC的StorageClass的reclaimPolicy。只需确保在StorageClass定义中有reclaimPolicy: Retain。有了这个,您应该保留有关缩放事件的数据。

如果您的意思是使用HPA和PVC进行部署 - 它应该可以工作,但请记住,如果您有多个具有一个共享PVC的副本 - 所有副本都将尝试安装它。如果PVC是ReadWriteMany - 应该没有问题。如果是ReadWriteOnce - 那么将在一个节点上安排所有副本。如果节点上没有足够的资源来容纳所有副本 - 您将永远获得一些处于Pending状态的pod。

© www.soinside.com 2019 - 2024. All rights reserved.