假设我有两个区域 zone1 和 zone2,每个区域部署了 2 个应用程序。假设 App1 是从 App2 获取信息的客户端,App1 使用 k8s 服务连接到 App2,现在如何配置 zone1 的 app1 以连接到 zone1 的 app2(最好,如果 zone1 的 app2 已加载或向下连接到 app2 的区域 2)。
虽然这可以通过应用层使用 zuul 和带无头服务的功能区来实现,但我想将其移至基础层。有没有可能在 K8s 中做。
我看到 IPVS 支持Locality-Based Least Connection
算法,但不确定 k8s 是否支持这种算法,我看到支持的算法是 rr、wrr、lc、sed。但没有关于支持 lblc 的文档。如果支持 lblc,这是更好的解决方案,可以在区域中的 dc/pod 中选择相同的节点/pod。
注意:这是纯粹针对本地 k8s 集群的解决方案。