地域负载均衡

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

一个 地域 定义了 workload instance 在你的网格中的地理位置。这三个元素定义了一个地域:

  • 地区:代表较大的地理区域,例如 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 使用地域信息来控制负载均衡行为。参照本系列的某个任务,为您的网格配置地域负载均衡。