OpenELB介绍
OpenELB 是一个专为裸机 Kubernetes 集群设计的开源负载均衡器实现。
在云服务环境中的 Kubernetes 集群里,通常可以用云服务提供商提供的负载均衡服务来暴露 Service,但是在本地没办法这样操作。而 OpenELB 可以让用户在裸金属服务器、边缘以及虚拟化环境中创建 LoadBalancer 类型的 Service 来暴露服务,并提供与云上的负载均衡器相同的用户体验。
核心功能
BGP 模式和二层网络模式下的负载均衡
ECMP 路由和负载均衡
IP 池管理
基于 CRD 来管理 BGP 配置
支持 Helm Chart 方式安装
BGP网络拓扑结构
建议使用 BGP 模式,因为它允许您创建一个没有故障转移中断和带宽瓶颈的高可用性系统。要使用 BGP 模式,您的路由器必须支持 BGP 和等价多路径 (ECMP) 路由。如果您的路由器不支持 BGP 或 ECMP,您可以使用第 2 层模式或 VIP 模式来实现类似的功能
layer2 网络拓扑结构
通常,建议您使用 BGP 模式,因为它允许您创建一个没有故障转移中断和带宽瓶颈的高可用性系统。但是,BGP 模式要求您的路由器支持 BGP 和等价多路径 (ECMP) 路由,这在某些系统中可能不可用。在这种情况下,您可以使用第 2 层模式来实现类似的功能。
二层模式需要您的基础环境允许匿名 ARP/NDP 数据包,如果在云上的 Kubernetes 集群中安装了 OpenELB 进行测试,需要与云厂商确认是否允许匿名 ARP/NDP 数据包,如果不允许,则无法使用二层模式
https://openelb.io/docs/getting-started/installation/install-openelb-on-kubernetes
https://openelb.io/docs/getting-started/configuration/configure-ip-address-pools-using-eip/