是否可以在开放堆栈中实现L3负载均衡器?
我希望根据源IP在多个VM之间平衡传入流量到虚拟IP。是否有任何OpenStack中子插件具有此功能?
如果没有,是否有其他基于Linux的方法可用于实现此功能?
HA代理和OpenStack LBaaS不适合我,因为有L4负载均衡器并且只处理TCP和UDP流量。
答案 0 :(得分:1)
是的,可以在OpenStack中进行L3负载平衡。 OpenStack有一个名为 Octavia 的项目(Load-Balancer-as-a-service)。
使用以下信息安装OpenStack Octavia
:
https://docs.openstack.org/octavia/latest/contributor/guides/dev-quick-start.html
在/etc/neutron/neutron_lbaas.conf
中添加以下内容:
service_provider = LOADBALANCERV2:Octavia:neutron_lbaas.drivers.octavia.driver.OctaviaDriver:default
在/etc/neutron/neutron.conf
中添加以下内容:
[octavia]
base_url=http://<IP address of OpenStack controller node>:9876
在/etc/octavia/octavia.conf
中添加以下内容:
[neutron]
service_name = <name of the neutron service in the keystone catalog>
endpoint = <custom neutron endpoint if override is necessary>
Octavia
的示例配置文件位于https://github.com/openstack/octavia/blob/master/etc/octavia.conf。