k8s 默认不支持本地裸金属集群的 LoadBalancer ,只有公有云厂商能提供直接可用的 LoadBalancer 。
但是本地私有集群的场景应该也是比较多的,很多公司的自建集群可能出于各种原因不会上公有云,那这种情况下能支持本地裸金属集群的开源 LoadBalancer 方案,目前我看到的资料比较多的是 MetalLB 、OpenELB 和 kube-vip ,而且只有 BGP 模式才能做到真正的负载均衡,对于路由器不支持 BGP 的就只能用 Layer2 模式了。
想问问各位大佬在本地集群场景有没有实践过的比较好的 LoadBalancer 架构,也许有其他的除了以上三个开源项目之外其他的 LoadBalancer 开源项目或者技术方案,对这方面的接触和了解不太多。
1
seers 33 天前
可以考虑混合云,lb 使用云厂商的
|
2
opengps 33 天前
你都裸金属了,直接上硬件吧,F5
|
3
Qetesh 33 天前
开源可以使用 Keepalived 和 HAProxy 。参考 https://www.kubesphere.io/zh/docs/v4.1/03-installation-and-upgrade/01-preparations/03-configure-high-availability/
|
4
wheat0r 33 天前
硬件负载均衡
|
5
nakroy OP 硬件负载均衡暂时没有这个条件...
|
8
JoeJasper 32 天前
cilium CNI 原生支持 BGP LoadBalancer
|
9
noahzh 32 天前
先说有多大的量.
|
10
wangyzj 32 天前
我觉得这里是两个问题
1. 裸金属虽然性能更高,但是非 HPC 场景,我建议套一层虚拟化。现在虚拟化带来的性能损耗带来的一定的管理提升更重要 2. K8S 的 loadbalancer 类型通常指云厂商服务,如果本地化部署,那么 haproxy+keepalive+nodeport 做冗余就是一个方案,云厂商 ELB 也是类似的。这比 kubevip 啥的方案更好一些,能抽象出一个 LB 层复用且比较容易把流量管理 waf 那层啥的做进去 |