码迷,mamicode.com
首页 > 系统相关 > 详细

Linux运维--15.OpenStack vm使用keepalived 实现负载均衡

时间:2020-02-27 19:13:36      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:Opens   需要   ping   group   inux运维   查看   ali   --   mariadb集群   

外接mariadb集群 实现负载均衡
实验环境

10.0.1.27 galera1
10.0.1.6  galera2
10.0.1.23 galera3
10.0.1.17 harpoxy1 haproxy+keepalived 
10.0.1.29 haproxy2 haproxy+keepalived 
10.0.1.100  vip

网络架构
技术图片

如上图所示,整个环境已经对接完成,但是使用vip,在部署完成后,ping 10.0.1.100 vip不通。

解决方案1:

1.导入环境变量
source  demo-openrc.sh
2.执行命令neutron net-list查看网络,找到自己需要设置的网络,获取subnet_id和network_id
neutron  net-list
3.创建port来占用ip,保证neutron不会将此IP在分配出去,导致IP冲突问题。
neutron port-create --fixed-ip subnet_id=<subnet_id>,ip_address=<vip> <network_id>
注:
    替换subnet_id为neutron net-list中查看到的subnet_id
    替换vip为需要配置的vip地址
    替换network_ID为neutron net-list中查看到的network_id
此处ip_address 为vip地址。
4.执行命令neutron port-list查看端口,找到VIP的Port ID以及需要使用VIP的虚拟机的IP对应的Port id
比如两台虚拟机做HA绑定vip,那么需要查看两台虚拟机的port ID和这个vip的port ID。
5. 取消安全组对应端口的管理
neutron port-update --no-security-groups <Port_id>
neutron port-update --port_security_enabled=false <Port_id>
注:替换Port_id为之前neutron port-list中找到的Port_id
6.此时执行命令neutron port-show 
可看到port_security_enabled的value为False,security_groups的value为空,即OK,这样两个端口就没有了安全组了。

备注:上述方法:在部署完keepalived之后去执行的话,没有任何问题。如果在部署keepalived之前完成上述操作,会导致vm 绑定vip的网口不同。在进行kolla部署时,就会出现无法容器镜像的问题。

方法2

# keepalived实现instance high available(Neutron flat网络模式下)
[root@openstack-1 ~(keystone_admin)]# neutron net-list (找出pub-net的id号)
[root@openstack-1 ~(keystone_admin)]# neutron port-list --netework_id=54f5ea9b-5d05-42e3-995f-c00e6824be25(这个id就是pub-net的id)   查看这个网络下的所有port信息
[root@openstack-1 ~(keystone_admin)]# neutron port-create --fixed-ip ip_address=202.106.179.130(虚拟ip地址) --security-group default pub-net  创建keepalived的vip
[root@openstack-1 ~(keystone_admin)]# neutron port-update  fee2f24e-87a1-4e23-b60b-8d4a33f9257f(这个id是web2的port id) --allowed_address_pairs list=true type=dict ip_address=202.106.179.130   
[root@openstack-1 ~(keystone_admin)]# neutron port-update   4082ae4a-5af6-43ea-9370-fa493fb9ad67(这个id是web1的port id)  --allowed_address_pairs list=true type=dict ip_address=202.106.179.130 (这个ip地址就可以被keepavlied当作vip用了)
[root@openstack-1 ~(keystone_admin)]# neutron port-show  4082ae4a-5af6-43ea-9370-fa493fb9ad67  查看信息

Linux运维--15.OpenStack vm使用keepalived 实现负载均衡

标签:Opens   需要   ping   group   inux运维   查看   ali   --   mariadb集群   

原文地址:https://www.cnblogs.com/shiyw/p/12373359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!