概述Topology Spread约束通过控制各拓扑域内的Pod数量差异(maxSkew)实现分散部署,降低同域故障影响,提升可用性与弹性。关键实践与参数拓扑键: `topology.kubernetes.io/zone` 或 `hostname`倾斜度: `maxSkew=1` 控制域间差异调度策略: `whenUnsatisfiable=DoNotSchedule` 或 `ScheduleAnyway`选择器: 与工作负载标签一致示例/配置/实现apiVersion: apps/v1 kind: Deployment metadata: { name: web } spec: replicas: 6 selector: { matchLabels: { app: web } } template: metadata: { labels: { app: web } } spec: topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule labelSelector: { matchLabels: { app: web } } 验证分散效果: 各可用区Pod数量差异不超过设定值调度行为: 资源不足时不调度或按策略调度可用性: 单区故障时服务仍可用观测: 记录调度事件与倾斜度注意事项需正确标注节点拓扑标签与PDB与HPA协同在扩缩容与滚更期间验证分散定期复盘拓扑与分散目标

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部