0

我们是否需要 kubernetes 中带有 metalLb 的任何特定 wifi-router/LAN 路由器。

如果 metalLB 在机器上,它如何提供帮助 .. 所有路由器流量都必须首先进入机器,然后再路由;导致机器成为瓶颈。

metalLB 解决方案不应该适合路由器本身的某个地方吗?

4

1 回答 1

0

也许首先什么是MetalLB以及为什么要使用它:

MetalLB 是裸机Kubernetes集群的负载均衡器实现,使用标准路由协议。... 裸机集群运营商剩下两个较小的工具来将用户流量引入他们的集群,“NodePort”和“externalIPs”服务。这两种选择在生产使用方面都有很大的缺点,这使得裸机集群成为 Kubernetes 生态系统中的二等公民。

MetalLB 旨在通过提供与标准网络设备集成的 Network LB 实现来纠正这种不平衡,以便裸机集群上的外部服务也尽可能“正常工作”。

除了正确地将流量路由到裸机服务器之外,没有什么特别需要的。您可以将其设置为 DMZ 主机,或者只是将端口转发到路由器后面的服务器。

如果您正在研究服务器之前的负载平衡流量,那将仅适用于多台服务器。如果您有 4 个裸机服务,您可以设置一个作为主节点,另外三个作为工作节点,因此主节点将负责平衡工作节点之间的负载。

您可以在第 2 层模式下使用 MetalLB

在第 2 层模式中,一个节点负责向本地网络发布服务。从网络的角度来看,它看起来就像那台机器有多个分配给它的网络接口的 IP 地址。

在底层,MetalLB 响应 IPv4 服务的 ARP 请求和 IPv6 的NDP 请求。

第 2 层模式的主要优点是它的通用性:它可以在任何以太网网络上工作,不需要特殊的硬件,甚至不需要花哨的路由器。

BGP 模式

在 BGP 模式下,集群中的每个节点都会与您的网络路由器建立 BGP 对等会话,并使用该对等会话来通告外部集群服务的 IP。

假设您的路由器配置为支持多路径,这将启用真正的负载平衡:MetalLB 发布的路由彼此等效,除了它们的下一跳。这意味着路由器将一起使用所有下一跳,并在它们之间进行负载平衡。

一旦数据包到达节点, kube-proxy 负责流量路由的最后一跳,将数据包送到服务中的特定 Pod。

您可以在此处阅读有关使用或 MetalLB的更多信息。

于 2020-04-29T14:39:57.867 回答