我们是否需要任何特定的无线路由器/局域网路由器与metalLb在kubernetes。
如果metalLB位于计算机上,它将如何提供帮助。所有的路由器流量必须首先到达机器,然后被路由;导致机器成为瓶颈。
metalLB解决方案不应该放在路由器本身的某个位置吗?
发布于 2020-04-29 22:39:58
也许首先什么是MetalLB以及为什么要使用它:
MetalLB是裸机Kubernetes群集的负载均衡器实施,使用标准路由协议。..。裸机集群运营商只剩下两个较小的工具来将用户流量带入他们的集群,“NodePort”和“externalIPs”服务。这两种选择对于生产使用都有很大的缺点,这使得裸机集群成为Kubernetes生态系统中的二等公民。
MetalLB旨在通过提供与标准网络设备集成的网络LB实现来纠正这种不平衡,以便裸机集群上的外部服务也能尽可能地“正常工作”。
除了正确地将流量路由到您的裸机服务器之外,没有什么特别需要的。您可以将其设置为DMZ主机或仅将端口转发到路由器后面的服务器。
如果您要在服务器之前对流量进行负载均衡,则只能在几个服务器上使用。如果您有4个裸机服务器,您可以设置一个作为主节点,另外三个作为工作节点,因此主节点将负责平衡工作节点之间的负载。
您可以在Layer 2 Mode中使用MetalLB
在第2层模式中,一个节点承担向本地网络通告服务的责任。从网络的角度来看,这台机器似乎有多个IP地址分配给它的网络接口。
在幕后,MetalLB响应ARP对IPv4服务的请求,NDP对IPv6的请求。
第二层模式的主要优点是它的通用性:它可以在任何以太网上工作,不需要特殊的硬件,甚至不需要花哨的路由器。
在BGP模式下,群集中的每个节点都会与网络路由器建立
对等会话,并使用该对等会话通告外部群集服务的In。
假设您的路由器配置为支持多路径,这将启用真正的负载平衡: MetalLB发布的路由除了它们的下一跳之外,其他路由都是等效的。这意味着路由器将一起使用所有下一跳,并在它们之间进行负载平衡。
数据包到达节点后,kube-proxy负责流量路由的最后一跳,将数据包发送到服务中的一个特定pod。
您可以阅读有关usage或MetalLB here的更多信息。
https://stackoverflow.com/questions/61500549
复制相似问题