GCE永久磁盘,kubernetes和数据持久性

在kubernetes内的pod上下文中,我对gcePersistentDisk有相当的乐趣:

目前,我试图让我的rethinkdb集群与gcePersistentDisk挂载卷一起工作,以便于备份,数据恢复,数据完整性等。这比我原先预料的要困难得多。 所以,我有几个问题:

1:我应该甚至试图使用gcePersistentDisk这个用例? 或者我应该使用persistentVolumes,并在我的主机kubelets上使用文件系统/ persistentVolumes来保存数据,并且只在我做备份时使用gcePersistentDisk?

2:[编辑:显示]

3:很确定这只是一个错误,但是如果你试图用一个挂载为gs的gcePersistentDisk来扩展一个容器,它不会像平常那样抛出:

“ReplicationController”rethinkdb“无效:spec.template.spec.volumes.GCEPersistentDisk.ReadOnly:无效值'false':ReadOnly必须为复制的pods> 1,因为GCE PD只能安装在多台机器上只读。'

,而只是挂在命令行上,并在查看kublet的日志时永远循环。

4:为了解决这个问题,我会完全走错方向吗? 如果是这样,我怎么坚持从我的豆荚数据库数据?

不幸的是,我对rethinkdb一无所知,但使用gcePersistentDisk来存储数据是非常合理的。 这样,如果运行pod的Kubernetes节点消失,则可以在另一个节点(假设您的Kubernetes集群中有多个节点)上重新启动pod,并在其恢复时继续访问数据。 我不认为你需要在这里使用持久卷, 直接将GCEPersistentDisk作为VolumeSource应该没问题。

我不知道为什么当您将RC缩减到0并且备份到1时,您将丢失数据。我的理解是应该重新安装PD。