【问题标题】:How to auto scale helm chart rabbitmq statefulset如何自动缩放舵图rabbitmq statefulset
【发布时间】:2021-06-17 06:56:13
【问题描述】:

我已经通过 helm 从 bitnami 安装了 rabbitmq

这是关于手动水平缩放的文档,我知道我想知道自动缩放,这可能真的很方便。我想知道在不丢失数据的情况下进行自动缩放设置是否可能/安全

【问题讨论】:

  • 自动缩放意味着向上和向下。真的不认为rabbitmq实例消失是可取的。自动缩放主要用于无状态服务
  • 我想知道是否有一种方法可以安全地自动缩放,也许只需触发一个命令(kubctl scale 命令)

标签: kubernetes rabbitmq kubernetes-helm bitnami


【解决方案1】:

建议使用带有源版本控制值 yaml 的声明式 helm upgrade 命令来扩展或缩减 rabbitmq 集群,而不是命令式 kubectl scale 命令,因为它是受源版本控制的,如果您需要在之后重新运行 helm upgrade 命令更改一些其他值,它将使用正确的副本数。

我在https://github.com/bitnami/charts/tree/master/bitnami/rabbitmq/templates 中没有看到水平吊舱自动缩放器https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ 模板,所以我认为它没有内置自动缩放功能。 Horizo​​ntal Pod Autoscaler v2beta2 API 具有许多稳定缩减的特性。

正如https://github.com/bitnami/charts/tree/master/bitnami/rabbitmq#horizontal-scaling 中提到的,当你缩小集群时,helm/kubernetes 只会删除 pod,它不会使用 rabbitmqctl forget_cluster_node 命令从集群中删除 rabbitmq 节点。它也不会删除与 pod 关联的 pvc。因为 pvc 没有被删除,如果你再次扩展集群,它将使用相同的 pvc,因为它使用 statefulset。您将不得不手动运行 rabbitmqctl forget_cluster_node 命令并删除文档中提到的 pvc。

请注意,根据https://www.rabbitmq.com/clustering.html#cluster-membership,如果您不使用支持复制的队列类型,并且绑定到与 pod 副本关联的某些 pvc 的 pv 发生一些问题,或者如果其中一个 pod 被驱逐、崩溃或杀死OOM Killer 或运行它的 Node 失败,会导致消息数据丢失。此外,如果您缩小集群,那么在这种情况下,也可能导致消息数据丢失。因此,避免消息数据丢失的最佳方法是使用支持复制的队列类型以及使用卷快照https://kubernetes.io/docs/concepts/storage/volume-snapshots/

我建议您也阅读以下内容以了解有状态集副本。 https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/ https://kubernetes.io/docs/tasks/run-application/scale-stateful-set/

【讨论】:

  • 这是非常好的信息。您能否向我发送有关如何使用 HPA 放大/缩小 statefulset 的更多信息?
  • 您可以在kubernetes.io/docs/tasks/run-application/… 阅读有关HPA 的信息,并通过kubernetes.io/docs/tasks/run-application/… 进行尝试。 Statefulset 的 HPA 与 Deployment 的 HPA 相同。 HPA 只是检查 CPU 或内存或自定义指标,并调用 Deployment 或 StatefulSet 对象的 scale 子资源来更改副本的数量,而不是您手动进行。 Kubernetes 控制器管理器然后根据定义的副本数量增加或减少 pod 的数量。
猜你喜欢
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
  • 2021-04-17
相关资源
最近更新 更多