由于我无法直接访问存储,但想Kubernetes
在自己的环境中运行:我使用哪种软件(在虚拟机上)PV/PVC
通过提供file system
?我听说过Ceph
。我需要考虑什么?还有其他选择吗?
Ceph
如果这太笼统:当我只能在虚拟机中使用文件系统时,我可以绕过(不是我想要的)(是/否)吗?
答案1
您可以提供更多有关您的环境的信息。
很多都取决于你的需求。你提到了CephFS
,因为它在 Kubernetes 中受支持。然而因为你想使用虚拟机,这可能真的很难。在这个博客您可以找到以下信息:
它不应该在虚拟机上运行,因为它没有针对虚拟机内核进行优化。这个建议直接来自 Red Hat。不幸的是,这意味着较小的用例是不可能的,因为它实际上需要 10 台物理机器,每台机器都有自己的操作系统,成为单独的 OSD 节点。
你应该阅读关于 Kubernetes 的文章卷的类型. 另一件重要的事情是访问模式每一个PV
。要在 VM 上应用,PersistentVolume
您可以使用:
空目录- 当 Pod 被分配到节点时,会首先创建一个 emptyDir 卷,只要该 Pod 在该节点上运行,该卷就会存在。此外,如果Container
崩溃不会从节点中删除 Pod,那么 emptyDir 卷中的数据在容器崩溃时是安全的。
可以找到示例和更多信息这里。
主机路径- 仅在单节点集群中有效。它不适用于多节点集群。
hostPath 卷将文件或目录从主机节点的文件系统挂载到您的 Pod 中。这不是大多数 Pod 所需的,但它为某些应用程序提供了强大的逃生出口。
更多详细信息及示例这里。
集群文件系统- 将来,如果您考虑使用更多通用解决方案,可以查看GlusterFS
。本文。
当地的- 在 Kubernetes 1.14 中引入。本地卷表示已安装的本地存储设备,例如磁盘、分区或目录。详细信息和示例可参见Kubernetes 文档。