用于生产的 Kubernetes 卷

标签 kubernetes

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

最佳答案

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

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

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

因此,无论您的 Pod 在集群中的何处运行,它们都将能够执行 PV 中描述的存储 Assets 的网络挂载。这些数据都不是本地的。 pod 可以在集群中的任何节点上死亡并重新启动,并且它将重新连接到 PV 中指定的相同网络存储 Assets 。

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

关于用于生产的 Kubernetes 卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35420605/

相关文章:

docker - 如何将 Docker Desktop Kubernetes 集群迁移到 Google Kubernetes Engine

node.js - 使用 Kubernetes 将变量注入(inject)到 config.js

kubernetes - k6: k6 --out json - 打开 ./test.json: 权限被拒绝

kubernetes - GET_HOSTS_FROM 变量的值是多少?

kubernetes - Apache Flink 作业未调度到 Kubernetes 中的多个 TaskManager(副本)上

java - Helm 图表中的 Spring Boot 应用程序属性

SSL 终止 Nginx 入口 Controller

kubernetes - kube-dns 获取 kube-proxy 无法列出 *core.Endpoints

azure - 无法使用 AKS 和 ACR 提取新镜像

docker - 无法从群集外部访问LoadBalancer