Google compute engine GCE持久磁盘与Kubernetes吊舱位于同一区域?
我正试图通过部署对象yaml将GCE持久磁盘装入kubernetes吊舱。 我观察到这种行为,只要节点(pod所在的节点)与持久磁盘(比如us-central1-a)位于同一区域,装载就会成功。 但是,如果在不同的区域(例如us-central1-a中的节点和us-central1-b中的磁盘)中存在,则装载超时 这种行为有效吗?我在文档中找不到任何东西来验证它是否正确Google compute engine GCE持久磁盘与Kubernetes吊舱位于同一区域?,google-compute-engine,kubernetes,google-kubernetes-engine,Google Compute Engine,Kubernetes,Google Kubernetes Engine,我正试图通过部署对象yaml将GCE持久磁盘装入kubernetes吊舱。 我观察到这种行为,只要节点(pod所在的节点)与持久磁盘(比如us-central1-a)位于同一区域,装载就会成功。 但是,如果在不同的区域(例如us-central1-a中的节点和us-central1-b中的磁盘)中存在,则装载超时 这种行为有效吗?我在文档中找不到任何东西来验证它是否正确 我们使用的是多区域集群,这使得加载正确的磁盘非常麻烦 GCE持久磁盘是一个,因此pod只能请求其所在区域的PD。您可以使用此
我们使用的是多区域集群,这使得加载正确的磁盘非常麻烦 GCE持久磁盘是一个,因此pod只能请求其所在区域的PD。您可以使用此节点选择器:
nodeSelector:
failure-domain.beta.kubernetes.io/zone: us-central1-b
你需要把你的吊舱安排在同一个PD区域。为此,您需要使用nodeSelector或nodeAffinity:required
如果您使用的是动态配置的卷,则需要具有拓扑意识。这是通过将存储类的volumeBindingMode设置为WaitForFirstConsumer:文档并不是直接针对区域的内容来实现的。我找到的最好的引语是“与持久性磁盘不同,云存储存储桶不限于实例所在的区域”。您在哪里添加此属性?nodeSelector是模板规范的一部分。我无法在该注释中设置格式,因此无法给出详细的示例,但是
spec.template.spec.nodeSelector
是您想要的。