为验证这一猜想,我们查看存储class的参数配置,发现其包含“zone: zone-1”的固定可用区参数,而消息队列服务的Pod因资源需求被调度至“zone-2”节点—当PVC采用“WaitForFirstConsumer ”模式时,存储插件仍试图在“zone-1”创建PV,与Pod所在的“zone-2”不匹配,导致绑定失败;而“Immediate”模式下,PV虽能创建,但因可用区不匹配,最终无法挂载。 zone-1”固定参数,改为“zone: {{ .Node.Zone }}”动态参数,使存储插件能根据Pod调度的目标节点可用区自动匹配存储资源;同时,为消息队列PVC添加节点亲和性规则,明确指定其调度至“zone
如下图所示,一个 CDN 集群需要在 zone-1 和 zone-2 两个地域的机房内各完整部署一套 StatefulSets 应用,但是两个地域网络不互通 ? 也即,对于NodeUnit:zone-1来说,会访问statefulsetgrid-demo-zone-1(StatefulSets)对应的 Pod;而对于NodeUnit:zone-2来说,会访问statefulsetgrid-demo-zone servicegrid-demo-svc.default.svc.cluster.local|grep "pod name" pod name: statefulsetgrid-demo-zone-1-2 ... # execute on zone
如上图,区域(region)是北京,机房分为zone-1和zone-2。 消费者(Consumer-1)调用服务时,会优先调用zone-1里面的服务提供者(Service-1),只有zone-1里面的服务提供者(Service-1)不可用,才会去调用zone-2里面的服务提供者
gridUniqKey字段设置为了zone,所以我们在将节点分组时采用的label的key为zone,如果有三组节点,分别为他们添加zone: zone-0, zone: zone-1 ,zone: zone
availability_zone: zone-1 secondary: hosts: 139.155.176.41: availability_zone: zone
gridUniqKey字段设置为了zone,所以我们在将节点分组时采用的label的key为zone,如果有三组节点,分别为他们添加zone: zone-0, zone: zone-1 ,zone: zone
matchLabelExpressions: - key: topology.pangu.csi.alibabacloud.com/zone values: - zone-1 - zone