标准答案

  1. 先定义故障域标签和业务可接受的最小可用副本,再使用拓扑分布约束或反亲和表达。
  2. 约束过严而节点容量不足会导致 Pending,约束过松则副本可能集中。
  3. 有状态卷通常带有可用区绑定,迁移和故障恢复要验证存储系统能否跨域使用。
  4. 压测和故障演练要模拟单节点、单可用区和网络分区,而不是只观察正常均衡。

题目解析

跨可用区部署需要用 topologySpreadConstraints、pod anti-affinity 和节点容量把副本分散到明确故障域;只增加副本数并不保证它们不集中在同一节点或区域。约束越严格,越可能因容量不足导致 Pending,因此要定义最小可用副本和可接受降级。

跨域还会增加网络延迟、跨区成本和复制延迟,有状态卷常常绑定某个可用区。设计应与数据库一致性、选主、读写路由和存储能力匹配,并通过单节点、单区和网络分区演练验证,而不是只看调度结果均匀。

常见误区

  • 误区:只设置副本数不设置拓扑。改正:明确故障域标签、分布约束、反亲和和容量预算。
  • 误区:忽略卷的可用区限制。改正:确认 PVC/CSI 拓扑、迁移和跨区恢复能力。

作者信息