用于生产的 Kubernetes 卷

Kubernetes volume for production

我们需要使音量易于管理。我们需要使用 PV 卷,但我们希望能够在任何节点上启动卷,并且数据不存储在节点上(如果节点 以这种方式崩溃没有问题)所以我们考虑使用 Ceph 后端的 flocker。生产的最佳解决方案是什么?

不需要 Flocker。您正在寻找的功能正是 Kubernetes Volume Plugins 所提供的。

考虑 Kubernetes 持久卷 (PV) 的方式是,它是一个配置对象,用于存储有关特定网络存储资产的信息。当用户提交声明时,假设它找到匹配项,它将绑定到可用持久卷池中的一个持久卷。这意味着您的声明绑定到一个对象,该对象包含有关特定网络存储资产的信息。

当在 Pod 或 RC 中指定声明时,运行时间能够确定声明绑定的 PV,然后确定使用哪个 Kubernetes Volume Plugin 以及根据哪些参数传递它PV的属性。

因此,无论您的 Pods 运行 在集群中的哪个位置,他们都能够执行 PV 中描述的存储资产的网络安装。此数据的 None 将是本地数据。 pod 可以在集群中的任何节点上死掉并重新启动,它将重新连接到 PV 中指定的相同网络存储资产。

除了 EmptyDir 和 HostPath 之外,任何 Kubernetes 卷插件都可以在持久卷定义中指定。因此,您可以创建一个使用 Ceph RBD 卷插件的 PV,并且您将拥有您寻求的功能。

Ceph 通常 运行 在它自己的集群中。有一些容器中的 ceph 运行ning 示例(还有更多工作要做),在这种情况下,Ceph 和您的应用程序可以共享 kubernetes 节点。