典型场景
典型的场景,租户创建了一个网络,并在其上分配了一个子网 10.0.0.0/24,租户试图通过一个负载均衡设备来实现多个虚拟机呈现统一业务。
首先,启动两个虚机,分别分配到 IP 地址:10.0.0.2 和 10.0.0.4。
OpenStack 的 LBaaS 实现中有三个重要概念:
- Pool
- Member
- Monitor
其中,Pool 是要进行负载均衡的资源池(一般需要对应到某一个子网),可以指定负载均衡的提供机制(例如默认的 HAProxy)、均衡的协议(TCP、HTTP、HTTPS)和端口等、均衡的策略。
定义完成 Pool 后可以往里面添加 Member(即虚拟机),并为各个成员分配权值,指定的目标端口等。
最后,定义一个 Monitor,负责定期探测成员的状态。
例如,我们创建一个 Pool,添加子网 10.0.0.0/24,并添加启动的虚机 10.0.0.2 和 10.0.0.4 作为成员,创建一个 VIP(例如 10.0.0.250)来均衡 TCP 协议,端口 22 的请求。
这样,对地址 10.0.0.250 的 TCP 访问,只要是端口 22 的,会被自动负载均衡到虚机 10.0.0.2 和 10.0.0.4 上去。