由于flocker,我能够将docker卷绑定到swarm中的特定容器,但现在我将拥有我服务器的多个副本(进行负载平衡),所以我正在搜索某些内容将相同的数据卷绑定到docker服务的多个副本。 在flocker documentaiton我发现了
多个容器可以访问同一个卷吗? Flocker的工作原理 创建卷和容器的1对1关系。这意味着 您可以为一个容器和这些卷创建多个卷 将始终遵循该容器。
Flocker将卷附加到单个代理主机(docker host) 而且这一次只能是一个主机,因为Flocker附加了 基于块的存储。不同主机上的节点无法访问相同的节点 volume,因为它一次只能附加到一个节点。
如果同一主机上的多个容器想要使用相同的卷, 他们可以,但要小心,因为多个容器访问 相同的存储量可能会导致损坏。
我可以将单个卷附加到多个主机吗?目前不支持 来自多连接后端,如只读模式下的GCE,或类似NFS 像存储这样的后端,或像GlusterFS这样的分布式文件系统 需要整合。 Flocker主要关注块存储用途 将卷一次附加到单个节点的情况。
所以我认为不可能用flocker做我想做的事。 我可以使用不同的协调器(k8s),如果这可以帮助我,即使我没有经验。
我不会使用NAS / NFS或任何分发的文件系统。
有什么建议吗?
提前致谢。
答案 0 :(得分:0)
在k8s中,如果支持卷的技术支持共享访问,则可以同时将卷安装到不同的Pod。
如Kubernetes Persistent Volumes中所述:
访问模式PersistentVolume可以任何方式安装在主机上 资源提供者支持。如下所示,提供商将 具有不同的功能,每个PV的访问模式都设置为 特定卷支持的特定模式。例如,NFS 可以支持多个读/写客户端,但可能支持特定的NFS PV 以只读方式导出到服务器上。每个PV都有自己的一套 访问模式描述特定PV的功能。
访问模式为:
- ReadWriteOnce - 卷可以由单个节点以读写方式挂载
- ReadOnlyMany - 卷可以由许多节点以只读方式挂载
- ReadWriteMany - 可以通过许多节点以读写方式挂载卷
支持ReadOnlyMany模式的卷类型:
支持ReadWriteMany模式的卷类型: