【发布时间】:2022-04-27 16:29:26
【问题描述】:
我们有一个带有约 100 个节点的 kubernetes 集群,并且希望启用 Locality LoadBalancing 功能。由于我们的区域间数据流量太高,这将为我们每年节省多达 7 万美元。
我已经关注docs 并像这样设置 istio configmap:
...
meshNetworks: {}
localityLbSetting:
enabled: true
distribute:
- from: us-east-1/us-east-1a/*
to:
"us-east-1/us-east-1a/*": 100
- from: us-east-1/us-east-1b/*
to:
"us-east-1/us-east-1b/*": 100
...
然后部署了 2 个应用,其中一个只是响应部署节点的区域(我们使用的是 VirtualService),另一个只是执行请求。
来自 us-east-1a 中节点的请求应该只能由同一区域中的节点回复,对吧?
但这并没有发生。
我们也尝试在 Pilot pod 中设置这个变量:
PILOT_ENABLE_LOCALITY_LOAD_BALANCING
当我从部署在区域“us-east-1a”中的一个 pod 获取日志时,它会显示来自两个区域的回复。
Istio 版本:1.2.8
Kubernetes 版本:1.14
感谢任何帮助!谢谢!
【问题讨论】:
-
您使用什么平台/基础设施?
-
我使用的是 AWS,我的 kubernetes 配置了 KOPS
-
@panicked 我有同样的问题,我的 Kubernetes 集群是使用 kops 和 istio 部署的。你解决了吗?
-
是的,我做到了。正在请求的服务,是的,正在执行请求的 pod 的服务,也必须有一个服务。
标签: kubernetes istio