在用magnum部署k8s集群时,发现部署出来一个负载均衡器,特研究了下这个neutron的这个服务,特记录下.
1 .lbaas v2架构如下(摘自官网)
在使用的service_provider为haproxy的时候,我理解如下:
- Load balancer #对应于一个运行在qlbaas-<xxxid>的namespace下的haproxy进程
- The load balancer occupies a neutron network port and has an IP addressassigned from a subnet.
- Listener #对应于hapro进程配置文件的frontend里面的bind
- Load balancers can listen for requests on multiple ports. Each one of thoseports is specified by a listener.
- Pool #对应于hapro进程配置文件的backend
- A pool holds a list of members that serve content through the load balancer.
- Member #对应于hapro进程配置文件里面backend下面的server
- Members are servers that serve traffic behind a load balancer. Each memberis specified by the IP address and port that it uses to serve traffic.
- Health monitor #对应于haproxy的健康检查
- Members may go offline from time to time and health monitors divert trafficaway from members that are not responding properly. Health monitors areassociated with pools.
以一个uuid为ace6a125-1a8e-4fcc-a6fb-832dbb4b76c1的Load balancer为例
查看此Load balancer的配置文件
2 lb的高可用
每个lb的高可用,底层是用keepalive实现的,配置文件实例如下
参考 https://docs.openstack.org/mitaka/networking-guide/config-lbaas.html