【问题标题】:Can't run 2 Kubernetes pods on 1 GKE node sharing a read-only GCE Persistent Disk无法在 1 个共享只读 GCE 持久磁盘的 GKE 节点上运行 2 个 Kubernetes pod
【发布时间】:2016-10-12 03:10:26
【问题描述】:

我尝试在单节点 GKE 集群上运行 2 个 Kubernetes pod,共享一个只读 GCE 永久磁盘,但是当一个 pod 成功运行时,另一个卡在 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

失败的 pod 报告:

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 并行提供它。

发生了什么,解决方法是什么?

【问题讨论】:

  • 这很可能只是 PD 代码中的一个错误。 PD 处理代码已针对即将发布的 Kubernetes 1.3 版本进行了几乎完全的重写,预计会更加可靠。
  • 嗨罗伯特。 1.3 预计何时发布?

标签: docker google-compute-engine kubernetes google-kubernetes-engine


【解决方案1】:

格伦,你打的是https://github.com/kubernetes/kubernetes/issues/19953

没有好的解决方法。

它已由 https://github.com/kubernetes/kubernetes/pull/26351 修复,它将成为计划于 6 月底发布的下一个 Kubernetes 版本 (v1.3) (https://github.com/kubernetes/kubernetes/wiki/Release-1.3) 的一部分。

【讨论】:

  • 我在使用 v1.3.4 时也遇到了这个问题。我想知道哪里是错误支持的最佳位置。 UserVoice、StackOverflow 还是 Kubernetes GitHub?
  • @HendyIrawan 在只读 GCE PD 上的多挂载应该在 v1.3+ 上工作。您可以在此处报告 k8s 问题:github.com/kubernetes/kubernetes/issues 或在 Slack 频道之一寻求帮助:kubernetes.slack.com
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-18
  • 2019-10-26
  • 1970-01-01
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多