gpt4 book ai didi

docker - GCE 持久化磁盘、kubernetes 和数据持久化

转载 作者:行者123 更新时间:2023-12-02 01:33:43 24 4
gpt4 key购买 nike

在 kubernetes 内部的 pod 上下文中,我对 gcePersistentDisk 很感兴趣:

目前,我正在尝试让我的 rethinkdb 集群与 gcePersistentDisk 安装的卷一起工作,以便于备份、数据恢复、数据完整性等。事实证明这比我最初预期的要困难一些。所以,我有几个问题:

1:对于这个用例,我是否应该尝试使用 gcePersistentDisk?或者我应该使用 persistentVolumes,并在我的主机 kubelet 上使用文件系统/persistentVolumes 以持久保存数据,并且只在我进行备份时使用 gcePersistentDisk?

2:[编辑:想通了]

3:很确定这只是一个错误,但是如果您尝试扩展一个带有 gcePersistentDisk 作为卷安装的 pod,它不会抛出通常的错误:

'The ReplicationController "rethinkdb" is invalid:spec.template.spec.volumes.GCEPersistentDisk.ReadOnly: invalid value 'false': ReadOnly must be true for replicated pods > 1, as GCE PD can only be mounted on multiple machines if it is read-only.'

,而是卡在命令行上,当我查看 kublet 的日志时永远循环。

4:我解决这个问题的方向是否完全错误?如果是这样,我如何从我的 pod 中保留数据库数据?

最佳答案

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

我不确定当您将 RC 缩小到 0 并返回到 1 时为什么会丢失数据。我的理解是应该重新安装 PD。

关于docker - GCE 持久化磁盘、kubernetes 和数据持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32528039/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com