Ben*_*Ben 8 google-cloud-platform kubernetes google-kubernetes-engine persistent-volumes
问题似乎已经解决了很久以前,因为答案和评论没有提供真正的解决方案,我想从有经验的用户那里得到一些帮助
错误如下(当描述pod,它保持ContainerCreating状态):
Multi-Attach error for volume "pvc-xxx" Volume is already exclusively attached to one node and can't be attached to another
Run Code Online (Sandbox Code Playgroud)
这一切都在GKE上运行.我有一个以前的集群,问题从未发生过.我在创建这个新集群时重用了相同的磁盘 - 不确定它是否相关
这是完整的yaml配置文件(我将离开相关的代码部分进行评论以突出显示它;它不是在有效使用时)
如果有明显的解决方法,请提前感谢
根据您的描述,您正在经历的是应该发生的事情.
您正在使用gcePersistentDisk您的PV/PVC的定义.的accessMode是ReadWriteOnce-这意味着该PV只能连接到单个节点(强调节点这里,可存在于同一运行多个荚节点使用相同的PV).你无能为力; gcePersistentDisk就像一个远程块设备,它不可能同时安装在多个节点上(除非只读).
有一个很好的表,显示哪些PV支持ReadWriteMany(即,同时在多个节点上写访问 ):
重要!卷只能一次使用一种访问模式安装,即使它支持很多.例如,GCEPersistentDisk可以由单个节点或ReadOnlyMany由许多节点挂载为ReadWriteOnce,但不能同时挂载.
小智 7
您的部署 yaml 显示 5 个副本,这在ReadWriteOnce模式下无法与 GCE PD 一起使用。GCE PD 只能在ReadOnlyMany模式下挂接到多个节点。
如果您需要跨所有副本共享、可写的存储,那么您应该考虑像 NFS 或 Gluster 这样的多写入器解决方案。
如果您希望每个副本都有自己的磁盘,那么您可以使用 StatefulSets,每个副本都有一个 PVC。
| 归档时间: |
|
| 查看次数: |
6124 次 |
| 最近记录: |