Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 卷的GKE/多连接错误上的卷声明已以独占方式连接_Kubernetes_Google Cloud Platform_Google Kubernetes Engine_Persistent Volumes - Fatal编程技术网

Kubernetes 卷的GKE/多连接错误上的卷声明已以独占方式连接

Kubernetes 卷的GKE/多连接错误上的卷声明已以独占方式连接,kubernetes,google-cloud-platform,google-kubernetes-engine,persistent-volumes,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Persistent Volumes,问题似乎是,由于答案和评论没有提供真正的解决方案,我想从有经验的用户那里得到一些帮助 错误如下(描述pod时,pod保持ContainerCreating状态): 这一切都在GKE上运行。我以前有一个集群,但问题从未发生过。我在创建这个新集群时重用了同一个磁盘-不确定它是否相关 (我将对相关代码部分进行注释以突出显示它;它在有效使用时不可用) 如果根据您的描述,有明显的解决办法,请提前感谢。您正在经历的正是应该发生的事情 您正在计算机中使用gcePersistentDisk。accessMode

问题似乎是,由于答案和评论没有提供真正的解决方案,我想从有经验的用户那里得到一些帮助

错误如下(描述pod时,pod保持ContainerCreating状态):

这一切都在GKE上运行。我以前有一个集群,但问题从未发生过。我在创建这个新集群时重用了同一个磁盘-不确定它是否相关

(我将对相关代码部分进行注释以突出显示它;它在有效使用时不可用)


如果根据您的描述,有明显的解决办法,请提前感谢。您正在经历的正是应该发生的事情

您正在计算机中使用
gcePersistentDisk
accessMode
ReadWriteOnce
-这意味着此PV只能连接到单个节点节点,此处,可以有多个POD使用同一PV在同一节点上运行)。你对此无能为力
gcePersistentDisk
就像一个远程块设备,不可能同时将其安装在多个节点上(除非为只读)

有一个好方法(即,同时对多个节点进行写访问):

重要卷一次只能使用一种访问模式装载,即使它支持多种访问模式。例如,GCEPersistentDisk可以由单个节点作为ReadWriteOnce装入,也可以由多个节点作为ReadOnlyMany装入,但不能同时装入


您的部署yaml显示了5个副本,这些副本在
ReadWriteOnce
模式下无法与GCE PD一起使用。GCE PD只能在
ReadOnlyMany
模式下连接到多个节点

如果您需要跨所有副本共享、可写的存储,那么您应该研究一种多编写器解决方案,如NFS或Gluster


如果您希望每个复制副本都有自己的磁盘,那么您可以使用StatefulSets,每个复制副本都有一个PVC。

它是否实际连接到任何POD?你能展示一下你是如何使用这种pvc的,以及你是如何制作的吗?请提供更多信息,以便我们提供帮助。@JanosLenart添加了完整配置。集群有两个节点。假设我有两个复制品。磁盘似乎锁定在两个节点中的一个,如果pod中的一个转到另一个节点,则出现所述错误;我只是不知道去哪里看。同时,这实际上是似乎早已解决的问题,;不知道我的集群是否有问题。我已经按照谷歌的广告格式化了磁盘;在上一个集群上使用ti没有问题,使用非常相同的pv/pvc/deployment configOk,现在有100%的意义。我没有抓住要点,只是没有在上一个节点上设置副本。我也有同样的错误,但我真的不知道如何确定PVC绑定到哪个节点,以及如何将其“移动”到需要PVC的pod–一个我已固定到一个节点(通过标签)的pod。我使用了
helminstall stable/jenkins
,并删除了该部署,并多次重新
helminstall
ed。一旦我理解了“谁”或是什么提出了主张,这可能就非常简单了;强烈建议在pod/部署上使用nodeSelector?以使其落在相关节点上。另外,当您最终更改节点时会发生什么情况?您可能需要手动附加磁盘?感觉使用磁盘比最初看起来更难,而且远没有“自动化”。以这个例子()为例,或多或少对于初学者来说,他们只是不暴露这两个非常潜在的问题;感觉有点误导有没有办法拆下磁盘并移动它?
Multi-Attach error for volume "pvc-xxx" Volume is already exclusively attached to one node and can't be attached to another