更新时间:2024-06-17 GMT+08:00

使用L4负载均衡-MetalLB

Kubernetes不为裸机集群提供网络负载均衡器(LoadBalancer服务)的实现。 裸机集群只能使用NodePort和externalIPs服务来将用户流量引入他们的集群,Metallb旨在通过提供负载均衡器以便裸机集群上的外部服务可以更好工作。关于MetalLB的详细信息请参见社区官方项目MetalLB官网

本章节,将从本地集群的视角出发,提供Metallb的创建及使用指导。

约束与限制

该文档仅适用于为UCS本地集群安装Metallb。

前提条件

按照网络管理Cilium介绍章节,已完成开启集群的BGP功能,配置LOAD_BALANCER_CIDR,并将其广播给底层网络。

安装Metallb

  1. 登录UCS控制台。
  2. 左侧导航栏内选择“云原生服务中心”。
  3. 在“服务目录中”中搜索Metallb开源插件,单击进入插件详情。

    图1 搜索Metallb

  4. 订阅Metallb后,单击创建实例,选择需要使用Metallb的集群。按照页面引导完成安装。

功能验证

  1. 进入UCS内的集群控制台。

    • 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。
    • 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。

  2. 左侧导航栏内选择“工作负载”,单击镜像创建。
  3. 选择可用镜像创建负载,并添加一个LoadBalancer类型的服务,具体操作请参见5工作负载服务配置
  4. 单击服务名称,复制负载均衡IP,于集群外节点上访问,访问成功。

    图2 访问负载均衡IP