地域负载均衡
本系列任务演示如何在 Istio 中配置地域负载均衡。
一个 地域 定义了 workload instance 在您的网格中的地理位置。这三个元素定义了一个地域:
地区:代表较大的地理区域,例如 us-east。一个地区通常包含许多可用区。 在 Kubernetes 中,标签 topology.kubernetes.io/region 决定了节点所在的地区。
区域:区域内的一组计算资源。通过在区域内的多个区域中运行服务,可以在区域内的区域之间进行故障转移, 同时保持最终用户的数据地域性。在 Kubernetes 中, 标签 topology.kubernetes.io/zone 决定了节点所在的区域。
分区:允许管理员进一步细分区域,以实现更细粒度的控制,例如“相同机架”。 Kubernetes 中不存在分区的概念。所以 Istio 引入了自定义节点标签 topology.istio.io/subzone 来定义分区。
如果您使用托管的 Kubernetes 服务,则云提供商应为您配置地区和区域标签。 如果您正在运行自己的 Kubernetes 集群,则需要将这些标签添加到您的节点上。
地域是分层的,按匹配顺序排列:
地区
区域
分区
这意味着,在 foo
地区的 bar
区域中运行 Pod 不会 被视为在 baz
地区的 bar
区域中运行的 Pod。
Istio 使用地域信息来控制负载均衡行为。参照本系列的某个任务,为您的网格配置地域负载均衡。