【发布时间】:2018-12-27 06:11:50
【问题描述】:
在 kubenetes 中,对所有 pod 使用单个共享 pvc 和为每个 pod 使用多个 pvc 有哪些优点和缺点。
【问题讨论】:
标签: amazon-web-services docker kubernetes kubectl kubernetes-pvc
在 kubenetes 中,对所有 pod 使用单个共享 pvc 和为每个 pod 使用多个 pvc 有哪些优点和缺点。
【问题讨论】:
标签: amazon-web-services docker kubernetes kubectl kubernetes-pvc
Statefulset with single PV/PVC和Statefulset with multiple PV/PVC有不同的用例,应该根据你要部署的应用来使用。你不能先于另一个。
让我用数据库的例子来解释一下,如果你想部署relational database,比如postgresql,所有数据都存储在一个地方。您需要具有单个 PV/PVC 的 statefulset 以及仅写入该特定卷的所有副本。这是在 postgresql 中保持数据一致的唯一方法。
现在假设您要部署distributed nosql database,如cassandra/mongodb,其中数据沿着不同的机器和数据库集群进行拆分。在这样的数据库中,数据在不同的节点上复制,在这种情况下,statefulsets pod 充当该数据库的不同节点。因此,这样的 Pod 需要不同的容量来存储它们的数据。因此,如果您使用 3 个 pod 运行 cassandra statefulset,则这些 pod 必须附加不同的 PV/PVC。每个节点都在自己的 PV 上写入数据,并最终复制到其他节点。
【讨论】: