镜像仓库操作员的默认配置将镜像仓库 Pod 分布在拓扑区域中,以防止在所有 Pod 都受到影响的完整区域故障情况下出现延迟恢复时间。
在部署具有与区域相关的拓扑约束时,镜像仓库操作员默认为以下设置
部署具有与区域相关的拓扑约束的镜像仓库操作员
topologySpreadConstraints:
- labelSelector:
matchLabels:
docker-registry: default
maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
- labelSelector:
matchLabels:
docker-registry: default
maxSkew: 1
topologyKey: node-role.kubernetes.io/worker
whenUnsatisfiable: DoNotSchedule
- labelSelector:
matchLabels:
docker-registry: default
maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule
在部署没有与区域相关的拓扑约束时,镜像仓库操作员默认为以下设置,这适用于裸机和 vSphere 实例
部署没有与区域相关的拓扑约束的镜像仓库操作员
topologySpreadConstraints:
- labelSelector:
matchLabels:
docker-registry: default
maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
- labelSelector:
matchLabels:
docker-registry: default
maxSkew: 1
topologyKey: node-role.kubernetes.io/worker
whenUnsatisfiable: DoNotSchedule
集群管理员可以通过配置configs.imageregistry.operator.openshift.io/cluster
规范文件来覆盖默认的topologySpreadConstraints
。在这种情况下,只有您提供的约束适用。