【发布时间】:2020-11-03 09:12:13
【问题描述】:
我想为数据库 pod 应用 VPA 垂直 pod 自动缩放。我们可以将VPA 用于数据库自动缩放(垂直)吗,因为VPA 需要至少2 个副本(参考:https://github.com/kubernetes/autoscaler/issues/1665#issuecomment-464679271),因为它会在达到设定标准时删除 Pod。因此 pod 被删除,因此数据也被删除。
在数据库 pod 中使用 VPA 有什么好的做法?
【问题讨论】:
-
要在 pod 被删除/重新创建后保留数据,您需要使用
Statefulset: kubernetes.io/docs/concepts/workloads/controllers/statefulset 。正如您所说,VPA至少需要 2 个副本才能正常运行。您可以使用 Postgres operator 之类的东西来创建一个带有复制功能的 postgres 集群(具有 2 个或更多副本)。之后,您可以将 VPA 应用于此 Statefulset,即使在重新创建 pod 的情况下,存储在持久卷上的数据也不会丢失。如果此解决方案适合您的需求,请告诉我。
标签: kubernetes google-kubernetes-engine autoscaling