Linux运维--15.OpenStack vm使用keepalived 实现负载均衡
外接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 实现负载均衡的更多相关文章
- linux运维、架构之路-keepalived高可用
一.Keepalived介绍 Keepalived起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能,Ke ...
- 《前端运维》二、Nginx--4代理、负载均衡与其他
一.代理服务 比较容易理解吧,简单来说.客户端访问服务器并不是直接访问的,而是通过中间代理服务器,代理服务器再去访问服务器.就像一个中转站一样,无论什么,只要从客户端到服务器,你就要通过我. 一)正向 ...
- linux 运维基础之VM中安装centos6.X
VM中安装centos详细教程 图片讲解:
- Linux运维入门到高级全套常用要点
Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...
- Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)
Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编 ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...
- linux运维中的命令梳理(一)
在linux日常运维中,我们平时会用到很多常规的操作命令. 下面对常用命令进行梳理: 命令行日常系快捷键(不分大小写)CTRL + A 移动光标到行首CTRL + E 移动光标到行末CTRL + U ...
- linux 运维知识体系
这里将会介绍一下,LINUX运维工程师的知识体系. 只能说是个人理解吧.并不是必要或者充分的,仅供网友参考. 大部分本博客都有涉及,并不完整. 1.LINUX运维基础 1.1.LINUX系统的简介,分 ...
- 如何掌握并提高linux运维技能
初中级Linux运维人员们系统学习并迅速掌握Linux的运维实战技能.学习路线大纲如下: 入门基础篇 系统运维篇 Web运维篇 数据库运维篇 集群实战篇 运维监控篇 第一篇:Linux入门(安装.配置 ...
- Linux运维企业架构实战系列
Linux运维企业架构项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-LVS.nginx实现负载均衡系列 2.1 项目实战2.1-实现基于LVS负载均衡集 ...
随机推荐
- MySql查看修改l时区
# 查看时区 show variables like '%time_zone%'; # 设置全局 set global time_zone='+8:00'; # 设置当前会话 set time_zo ...
- C# 实现验证码识别,使用AspriseOCR.dll
验证码(Captcha)基于十道安全栅栏, 为网页.App.小程序开发者打造立体.全面的人机验证,最大程度地保护注册登录.活动秒杀.点赞发帖.数据保护等各大场景下的业务安全.要做自动化脚本程序,就要能 ...
- es7中数组如何判断元素是否存在
const arr = [1,2,3,4,5,6] console.log(arr.includes(4)) //true
- 【强化学习RL】model-free的prediction和control —— MC,TD(λ),SARSA,Q-learning等
本系列强化学习内容来源自对David Silver课程的学习 课程链接http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html 本文介绍了在m ...
- winform dataGridView 点击列标题排序
winform手动绑定数据后,点击列标题不能实现自动排序,苦苦寻找方法,发现下面的是可行的. //建立DataTable将当前dataGridView中的数据读进DataTable中 public D ...
- 异想家Eclipse的偏好配置
1.汉化 http://www.eclipse.org/babel/downloads.php 找到Babel Language Pack Zips,下面选自己版本点进去,找到如下类似的中文包: Ba ...
- WebAPI接口开发实践
背景 在团队两年多陆续负责了几个项目的开发上线已经代码的review,特别是对老项目的重构过程中,发现之前的API设计是没有任何规范和约定的,不同的开发同学有不同的习惯,因此需要一套规范去约定,现在分 ...
- 一个注解搞懂 Sentinel,@SentinelResource 总结
在前面的博客中,我给大家演示了使用 @SentinelResource 定义资源完成限流的例子, 下面就从源码解析开始,看下SentinelResource是如何实现限流的,以及@SentinelRe ...
- HTML-01-HTML格式
<!DOCTYPE html><!--告诉浏览器这个文档是html5版本的文档声明--> <html> <!--html是我们网页中最大的标签--> & ...
- ios--->ios沙盒总结
ios沙盒总结 沙盒介绍 iOS应用程序只能在该程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等 ...