部署负载均衡集群
一个负载均衡集群一般由两个lbagent组成主备切换的高可用集群,其中通过keepalived实现主备自动切换。
Lbagent是负责负载均衡数据转发的节点,可以部署在经典网络的虚拟机,或者物理机上。
Lbagent内部署了如下软件,实现高可用的4层和7层负载均衡功能:
- haproxy:负责TCP四层负载均衡和http/https七层负责均衡
- gobetween: 负责UDP四层负载均衡转发
- keepalived: 负责主备节点的切换
在使用负载均衡功能前,需要有实现负载均衡转发功能的由Lbagent组成的负载均衡集群。 本文介绍如何部署Lbagent以组成负载均衡集群。
3.10(含)之后版本部署Lbagent
自3.10(含)版本之后,负载均衡开始支持VPC内虚拟机的负载均衡,并可以挂载EIP。同时,部署流程更新为:
- 使用ocboot将已有虚拟机或物理机部署为lbagent节点
- 创建lbcluster
- 将一对lbagent节点和一个lbcluster关联,实现lbagent的自动化配置
lbagent节点的部署
采用ocboot,采用如下命令将地址为<ip_of_lbagent_node>的经典网络虚拟机或物理机部署为一台lbagent:
下载部署工具
部署的工具代码在 https://github.com/yunionio/ocboot/release,选择对应的版本,把代码的 tar.gz 包下载下来。
$ wget https://github.com/yunionio/ocboot/archive/refs/tags/master-v3.11.12-5.tar.gz
$ tar xf master-v3.11.12-5.tar.gz
$ cd ocboot-master-v3.11.12-5
部署 Lbagent 节点:
$ ./ocboot.sh add-lbagent <ip_of_master_node> <ip_of_lbagent_node>
部署成功的lbagent节点是k8s集群的一个节点,并且带有如下label:
onecloud.yunion.io/lbagent=enable
然后再到 Web 前端控制台创建 “负载均衡集群”,然后把“节点”关联到对应的集群即可。
注意:3.10(含)之后,负载均衡节点部署后并不会自动关联负载均衡集群,需要手动关联,关联之后节点上的负载均衡组件才会开始正常工作。可以在web控制台关联,或通过如下climc命令关联:
$ climc lbagent-join-cluster --cluster-id CLUSTER_ID AGENT_ID