0

我有一个 K8s 设置 1 个 master 和 1 个 minion。我想在 pod 上手动使用外部负载平衡器(HaProxy)对流量进行负载平衡。为此,我决定使用“无头服务”来获取直接 POD IP。

现在有第三个节点(负载均衡器)需要通过依赖网络访问 POD 或 flannel。有什么方法可以加入 K8s 设置的法兰绒网络中的第三个节点。或者我可以添加任何路由将流量重定向到法兰绒网络。

PS K8s 设置(1 Master + 1 Minion)和 3rd Node(负载均衡器)在同一个子网中。

4

1 回答 1

0

您可以查看HAProxy 入口控制器

HAProxy 速度极快且资源高效,可让您充分利用基础设施并最大限度地减少高流量场景中的延迟。它还带来了几乎无穷无尽的调整和自定义选项列表。HAProxy 的动态扩展和无需重新加载的重新配置等特性在此用例中也非常有价值,因为 Kubernetes pod 通常会快速大量地产生、终止和迁移,尤其是在部署期间。

我们将使用 jcmoraisjr/haproxy-ingress提供的 HAProxy Ingress Controller 实现。HAProxy Technologies 为该项目贡献了代码,使 Ingress Controller 能够利用 HAProxy Runtime API。(您可以研究的另一个有用的 HAProxy Ingress Controller 实现是 appscode/voyager。)

该解决方案的主要优点是HAProxy 入口控制器在 Kubernetes 集群内原生运行,并且可以使用 ConfigMap 轻松配置。这意味着 HAProxy 入口控制器将使用 Flannel 覆盖网络,无需任何额外配置。

如果您决定尝试一下,本手册可能会有所帮助:

更新:
如果您想在集群外的实例上使用 Flannel,请考虑阅读本手册:

于 2018-07-26T10:57:08.427 回答