文章预览
对于自建的Kubernetes集群,默认情况下是不支持负载均衡的。当需要提供服务的外部访问时,可选用的方案不外乎 Ingress、NodePort等方式。但 这些方案本身并不算非常完美,他们或多或少都存在 着 一些不足之外 ,如Ingress不支持TCP协议,而NodePort则是使用随机端口。 对此,开源的MetalLB 方案旨在提供基于网络设备的负载均衡功能来解决这个痛点,本文将对此展开进行介绍。 一. 部署要求 MetalLB部署需要以下环境才能运行: 运行Kubernetes 1.13.0或更高版本的群集,尚不具有网络负载平衡功能; 一些用于MetalLB分配的IPv4地址; 如果使用BGP模式,需要准备一台或多台支持BGP的路由器; 如果使用layer 2模式时,集群节点间必须允许7946端口的访问 ,用户代理之间的通信; 集群的网络类型需要支持MetalLB,详见下图 网络类型 兼容性 Antrea Yes Calico Mostly Canal Yes Cili
………………………………