4

我发现大量文章和文档描述了 StatefulSets 相对于 Kubernetes 上的有状态应用程序部署的优势。我无法弄清楚的是相反的:与部署相比,StatefulSets 的缺点,特别是对于无状态应用程序。

有人可以解释一下为什么不总是将 StatefulSets 用于有状态和无状态应用程序?

4

1 回答 1

3

最基本的区别是您将能够使用 statefulsets 持久化pod 级别的状态。使用 volumeClaimTemplates,每个副本将获得一个具有 statefulset 的唯一 PersistentVolumeClaim,而所有副本将与部署共享 PersistentVolumeClaim。这是以有状态集的缓慢扩展和缩减为代价的。

部署还具有与“部署”相关的很酷的功能,例如使用maxSurge 和 maxUnavailable滚动更新。

于 2020-01-19T06:48:56.370 回答