我使用volumeMount创建一个部署,该部署引用PersistentVolumeClaim以及集群上的内存请求,其中节点位于3个不同的AZs us-west-2a,us-west-2b和us-west-2c中。
在动态创建PersistentVolume时,部署需要一段时间才能启动,但它们最终都会启动。
我遇到的问题是PersistentVolume是在us-west-2c中创建的,并且pod可以运行的唯一节点已经过度分配。
有没有办法让我创建部署并声明索赔不是在没有pod可以启动的区域中进行的?
我相信你正在寻找Topology Awareness功能。
拓扑意识
在多区域群集中,Pod可以分布在区域中的区域中。应在安排Pod的区域中配置单区存储后端。这可以通过设置卷绑定模式来完成。
Kubernetes发布了kaznetes版本1.12的topology-aware dynamic provisioning feature,我相信这将解决您的问题。