区域负载均衡

本系列任务演示了如何在 Istio 中配置区域负载均衡。

区域 定义了网格中 工作负载实例 的地理位置。以下三元组定义了区域

  • 区域:表示一个大型地理区域,例如 us-east。区域通常包含多个可用性 区域。在 Kubernetes 中,标签 topology.kubernetes.io/region 确定节点的区域。

  • 区域:区域内的一组计算资源。通过在一个区域内的多个区域中运行服务,可以在区域内的区域之间进行故障转移,同时保持与最终用户的地理数据关联。在 Kubernetes 中,标签 topology.kubernetes.io/zone 确定节点的区域。

  • 子区域:允许管理员进一步细分区域,以实现更细粒度的控制,例如“同一机架”。Kubernetes 中不存在子区域的概念。因此,Istio 引入了自定义节点标签 topology.istio.io/subzone 来定义子区域。

位置是分层的,匹配顺序为

  1. 区域

  2. 区域

  3. 子区域

这意味着在区域 foo 的区域 bar 中运行的 Pod 被视为与在区域 baz 的区域 bar 中运行的 Pod 相同。

Istio 使用此位置信息来控制负载均衡行为。按照本系列中的某项任务来为您的网格配置位置负载均衡。