在kubenet中,对所有Pod使用单个共享pvc,对每个Pod使用多个pvc有什么优点和缺点。
答案 0 :(得分:3)
Statefulset with single PV/PVC
和Statefulset with multiple PV/PVC
具有不同的用例,应根据要部署的应用程序使用。您不能先于另一人。
如果要将relational database
之类的postgresql
部署在所有数据存储在一个地方的位置,请让我用数据库示例进行解释。您只需要带有单个PV / PVC的statefulset和仅用于写入该特定卷的所有副本。这是在Postgresql中保持数据一致的唯一方法。
现在可以说您要部署一个像distributed nosql database
这样的cassandra/mongodb
,其中的数据将沿着不同的计算机和数据库集群进行拆分。在这样的数据库中,数据被复制到不同的节点上,在这种情况下,状态集pod充当该数据库的不同节点。因此,此类容器需要不同的容量来存储其数据。因此,如果您使用3个吊舱运行cassandra statefulset,则这些吊舱必须附加有不同的PV / PVC。每个节点都在自己的PV上写入数据,并最终复制到其他节点。