GCE Persistent Disk 与 Kubernetes Pod 同区?

GCE Persistent Disk Same zone as Kubernetes Pod?

我正在尝试通过部署对象 yaml 在 kubernetes pod 中挂载 GCE 永久磁盘。 我观察到这种行为,只要节点(pod 所在的节点)与永久磁盘(比如 us-central1-a)位于同一区域,安装就会成功。 但是,如果有不同的区域(比如 us-central1-a 中的节点和 us-central1-b 中的磁盘),则安装超时。

这种行为有效吗?我在文档中找不到任何可以证实它的内容。

http://kubernetes.io/docs/user-guide/volumes/#gcePersistentDisk

我们正在使用多区域集群,这使得加载正确的磁盘变得很麻烦。

GCE Persistent Disks 是 zonal resource,因此 Pod 只能请求其区域中的 PD。

您可以使用这个节点选择器:

    nodeSelector:
      failure-domain.beta.kubernetes.io/zone: us-central1-b

您需要将 pods 安排在同一个 PD 区域。为此,您需要使用 nodeSelector 或 nodeAffinity:required.

如果您使用的是动态配置的卷,则需要了解拓扑。这是通过将存储 class 的 volumeBindingMode 设置为 WaitForFirstConsumer 来实现的:volume binding