使用L4负载均衡-MetalLB
Kubernetes不为裸机集群提供网络负载均衡器(LoadBalancer服务)的实现。 裸机集群只能使用NodePort和externalIPs服务来将用户流量引入他们的集群,Metallb旨在通过提供负载均衡器以便裸机集群上的外部服务可以更好工作。关于MetalLB的详细信息请参见社区官方项目和MetalLB官网。
本章节,将从本地集群的视角出发,提供Metallb的创建及使用指导。
约束与限制
该文档仅适用于为UCS本地集群安装Metallb。
前提条件
按照网络管理Cilium介绍章节,已完成开启集群的BGP功能,配置LOAD_BALANCER_CIDR,并将其广播给底层网络。
安装Metallb
- 登录UCS控制台。
- 左侧导航栏内选择“云原生服务中心”,在“服务目录中”中搜索Metallb开源插件,单击进入插件详情。
图1 搜索Metallb
- 订阅Metallb后,单击创建实例,选择需要使用Metallb的集群。按照页面引导完成安装。
功能验证
- 进入UCS内的集群控制台。
- 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。
- 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。
- 左侧导航栏内选择“工作负载”,单击镜像创建。
- 选择可用镜像创建负载,并添加一个LoadBalancer的服务。
图2 创建工作负载
- 单击服务名称,复制负载均衡IP,于集群外节点上访问,访问成功。
图3 访问负载均衡IP