GKE Kubernetes持久卷

时间:2018-07-01 09:02:04

标签: kubernetes google-cloud-platform google-kubernetes-engine

我尝试为我的rethinkdb服务器使用永久卷。但是我遇到了这个错误:

memmove

我认为Kubernetes部署了一个新节点而没有删除旧节点,因此它不能在两者之间共享文件,因为我的pvc是ReadWriteOnce。该永久卷必须以自动方式创建,因此我不能使用永久磁盘对其进行格式化...

我的配置:

Unable to mount volumes for pod "rethinkdb-server-deployment-6866f5b459-25fjb_default(efd90244-7d02-11e8-bffa-42010a8400b9)": timeout expired waiting for volumes to attach/mount for pod "default"/"rethinkdb-server-deployment-
Multi-Attach error for volume "pvc-f115c85e-7c42-11e8-bffa-42010a8400b9" Volume is already used by pod(s) rethinkdb-server-deployment-58f68c8464-4hn9x

您如何管理?

1 个答案:

答案 0 :(得分:2)

我发现您已经在PersistentVolumeClaim中添加了deployment。我还看到您正在尝试扩展节点池。

PersistentVolumeClaim将适用于部署,但前提是您不扩展deployment。这就是显示该错误消息的原因。您看到的错误是,复制新的容器时,现有容器已在使用该卷。

由于您要缩放deployment,因此其他副本将尝试装入并使用相同的卷。

解决方案:在statefulset对象而不是deployment对象中部署PersistentVolumeClaim。可以在in this article中找到有关如何部署statefulset的说明。使用statefulset,您将能够将PersistentVolumeClaim附加到Pod,然后缩放节点池。