Istio 高可用性
以高可用性(HA)模式运行 Istio 控制平面可消除单点故障,并在 istiod Pod 变得不健康时保持网格持续运行、不间断。
启用 HA 后,单个 istiod Pod 的故障不会中断流量管理或数据平面配置:其余副本会继续为网格提供服务,从而避免宕机并减少面向用户的影响。HA 还会将控制平面工作负载分布到多个副本上,使控制平面升级更平滑,支持灾难恢复场景,并为区域级故障提供保护。
集群管理员可以通过以下任一方式为 Istio 部署启用 HA:
- 静态副本数:将部署固定为一定数量的
istiodPod,以维持可预测的冗余级别。 - 自动扩缩容:让 Horizontal Pod Autoscaler(HPA)根据资源使用情况或自定义指标自动调整
istiodPod 的数量,这适用于负载变化较大的工作负载。
单节点集群的注意事项
对于单节点集群,务必要禁用默认的 Pod Disruption Budget(PDB),以避免在节点操作(例如 draining)或 HA 模式下扩缩容时出现问题。你可以通过将以下配置添加到 Istio 资源中来实现:
spec.values.global.defaultPodDisruptionBudget.enabled: false会禁用 Istiod 的默认 Pod Disruption Budget。在单节点集群中,PDB 可能会阻止诸如节点 drain 或 Pod 驱逐之类的操作,因为它会防止可用 Istiod 副本数量低于 PDB 的最小期望值。禁用它可确保在这种特定拓扑下顺利执行操作。