在 kubenetes 中,对所有 pod 使用单个共享 pvc 以及为每个 pod 使用多个 pvc 有哪些优点和缺点。
问问题
340 次
1 回答
3
Statefulset with single PV/PVC
并且Statefulset with multiple PV/PVC
有不同的用例,应该根据你要部署的应用程序来使用。你不能先于另一个。
让我用数据库的例子来解释一下,如果你想将所有数据都存储在一个地方进行relational database
部署postgresql
。您需要具有单个 PV/PVC 的 statefulset 以及仅写入该特定卷的所有副本。这是在 postgresql 中保持数据一致的唯一方法。
现在假设您要部署一个distributed nosql database
like cassandra/mongodb
,其中数据沿着不同的机器和数据库集群进行拆分。在这样的数据库中,数据被复制到不同的节点上,在这种情况下,statefulsets pod 充当该数据库的不同节点。因此,这样的 pod 需要不同的容量来存储它们的数据。因此,如果您使用 3 个 pod 运行 cassandra statefulset,则这些 pod 必须附加不同的 PV/PVC。每个节点都在自己的 PV 上写入数据,并最终复制到其他节点。
于 2018-12-27T06:46:46.373 回答