jjzjj

volumeClaimTemplate

全部标签

mongodb - 我可以在 Kubernetes Statefulset 的 volumeClaimTemplate 中使用现有的 GCE 永久磁盘吗

我正在使用GoogleContainerEngine为MongoDB副本集(3个副本pod)运行StatefulSet。这适用于持久存储的动态配置-即在创建有状态集时为每个pod提供新存储。但是如果我重新启动StatefulSet,似乎我无法重新绑定(bind)旧的持久卷,因为新的存储将被重新配置。这意味着数据丢失了。理想情况下,持久存储应该在Kubernetes集群本身删除后仍然存在,数据会保留并准备好在新集群中再次使用。有没有办法创建GCE持久磁盘并将它们用于StatefulSet的持久卷声明?[2017年9月20日更新]找到答案:这就是解决方案(归功于@RahulKrishnan

Kubernetes StatefulSet之volumeClaimTemplates

在Kubernetes中,StatefulSet是用于管理有状态应用的控制器对象。它确保每个Pod都有唯一的标识符和稳定的网络标识,并按照顺序进行部署和终止。StatefulSet还提供了一种方便的方式来管理这些有状态应用所需的持久化存储。volumeClaimTemplates是StatefulSet中的一个字段,它用于定义每个Pod所需的持久卷声明(PersistentVolumeClaim,PVC)模板。通过使用这个字段,可以自动为StatefulSet中的每个Pod创建和绑定相应的PVC。在volumeClaimTemplates字段中,可以定义多个PVC模板,每个模板都包含了创建PV