1

我試過在單節點GKE集羣上運行2個Kubernetes莢,共享一個只讀GCE永久磁盤,但一個莢成功運行,另一個卡在ContainerCreating狀態。無法在1個GKE節點上運行2個Kubernetes莢共享一個只讀GCE永久磁盤

的容器非常簡單:

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 documentation明確允許這種情況。

PD的一個特性是,它們可以同時作爲只讀方式安裝在多個客戶端上。這意味着您可以預先使用數據集填充PD,然後根據需要從多個Pod中並行提供。

這是怎麼回事,有什麼解決辦法?

+0

這很可能只是PD代碼中的一個錯誤。對於即將發佈的Kubernetes 1.3版本,PD處理代碼已經完全重寫,並且預計會更加可靠。 –

+0

嗨,羅伯特。預計何時公佈1.3? –

+0

本月底左右。請參閱https://github.com/kubernetes/kubernetes/wiki/Release-1.3 –

回答

2

幽谷,你打https://github.com/kubernetes/kubernetes/issues/19953

有沒有很好的辦法解決這個。

它由https://github.com/kubernetes/kubernetes/pull/26351修復,這將成爲計劃於六月底發佈的下一個Kubernetes發佈(v1.3)的一部分(https://github.com/kubernetes/kubernetes/wiki/Release-1.3)。

+0

我也在v1.3.4上遇到了這個問題。我想知道錯誤支持的最佳位置在哪裏。 UserVoice,StackOverflow或Kubernetes GitHub? –

+0

@HendyIrawan在只讀GCE PD上多次掛載應該可以在v1.3 +上運行。你可以在這裏報告k8s的問題:https://github.com/kubernetes/kubernetes/issues/或者請求一些閒置頻道的幫助:https://kubernetes.slack.com –

相關問題