无法在共享只读GCE永久磁盘的1个GKE节点上运行2个Kubernetes Pod

我已经尝试在单节点GKE集群上运行2个Kubernetes组件,共享一个只读的GCE永久磁盘,但一个组件成功运行时,另一个组件处于ContainerCreating状态。

容器很简单:

 FROM debian:jessie CMD ["/bin/sh", "-c", "while true; do ls /mount; sleep 5; done"] 

部署如下所示:

apiVersion: extensions/v1beta1 kind: Deployment metadata: name: dumpy spec: replicas: 2 template: metadata: labels: app: dump spec: containers: - name: dump image: gcr.io/myproject/dump volumeMounts: - mountPath: /mount name: dump readOnly: true volumes: - name: dump gcePersistentDisk: pdName: my-disk fsType: ext4 readOnly: true

失败的荚报告:

 Warning FailedMount Unable to mount volumes for pod "xxx". Could not attach GCE PD "my-disk". Timeout waiting for mount paths to be created. FailedSync Error syncing pod, skipping: Could not attach GCE PD "my-disk". Timeout waiting for mount paths to be created. 

/var/log/kubelet.log报告:

 gce.go:422] GCE operation failed: googleapi: Error 400: The disk resource 'my-disk' is already being used by 'xxx-123' gce_util.go:187] Error attaching PD "my-disk": googleapi: Error 400: The disk resource 'my-disk' is already being used by 'xxx-123' 

我相信Kubernetes文档明确地允许这种情况。

PD的一个特点是它们可以同时被多个用户以只读方式安装。 这意味着您可以使用数据集预先填充PD,然后根据需要从多个Pod中并行提供。

发生了什么事,有什么修复?