OpenStack neutron 环境云主机使用keepalived vip + 给vip绑定浮动IP 步骤及注意事项
在openstack环境创建的多台云主机配置keepalived作主备,默认情况下无法生效,直接对云主机一张网卡配置两个IP进行测试也是同样结果,因为:
可以看到,port所在的宿主机上iptables 对 MAC地址和IP进行了限制。所以需要如下操作:
pre. 确认云主机网卡port_id
nova interface-list [vm_id]
1. 确认 ml2 配置中
arp_responder = False
或 未配置(因为默认为false);
2. 对需要配置vip的port,可以直接 disable 安全组 (不推荐):
neutron port-update --no-security-groups --port-security-enabled=False [port_id]
eg.
neutron port-update --no-security-groups --port-security-enabled=False aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
也可以使用 allowed-address-pair功能 (推荐) :
neutron port-update --allowed-address-pair ip_address=[CIDR] [port_id]
,如 :
eg.
neutron port-update --allowed-address-pair ip_address=10.1.100.100 aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
neutron port-update --allowed-address-pair ip_address=10.1.100.100/ aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
到这一步为止,云主机内配置上面的 vip 就已经可以使用了。
3. 为了避免后续创建的云资产占用vip ,创建闲置的port,占用掉vip地址:
neutron port-create --fixed-ip ip_address=[IP_ADDR] [network_id]
neutron port-create --fixed-ip ip_address=10.1.100.100 bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb
此时这个port 只是一个DB里的一个记录,不会在宿主机上创建tap设备或增加iptables chain,不用担心额外的资源损耗。它的用途仅仅是占用IP地址以免被其它资源使用而已。
如下图,dhcp不会再分配 10.1.100.100 这个ip
接下来开始将浮动IP绑定给vip,平时我们在dashboard处是给云主机绑定浮动IP,常用的CLI /api 是
nova floating-ip-associate <server> <address>
,可这样浮动IP绑定的是云主机网卡原始IP (10.1.100.7),不是vip (10.1.100.100)
,所以我们得使用neutron 的相关接口。
4. 创建浮动IP
neutron floatingip-create [floating_net_id]
neutron floatingip-create cccccccc-cccc-cccc-cccc-cccccccccccc
5. 绑定
neutron floatingip-associate [floatingip_id] [port_id]
先将刚才通过nova CLI 绑定的解绑
开始绑定
neutron floatingip-associate cccccccc-cccc-cccc-cccc-cccccccccccc aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
再去l3 节点的net ns里可以看到
已经绑定的是 vip (10.1.100.100) 了
OpenStack neutron 环境云主机使用keepalived vip + 给vip绑定浮动IP 步骤及注意事项的更多相关文章
- Openstack neutron:云数据中心底层网络架构
目录 - 目录 - 云数据中心流量类型 - NSX整体网络结构 - 管理网络(API网络) - 租户网络 - 外联网络 - 存储网络 - openstack整体网络结构 - 管理网络:(上图中蓝线) ...
- openstack 一键部署云主机
两边虚拟机时间不一样cinder会报错. 在computer节输入命令 ntpdate 192.168.10.100 systemctl restart openstack-cinder-volume ...
- openstack命令创建云主机实例
@ 目录 前言 上传centos镜像 创建实例 创建外网卡 修改安全组规则 创建云主机实例 前言 简单创建云主机实例只需要上传一个测试镜像.创建一张外网卡.创建一个实例类型.修改安全组规则即可 注:这 ...
- 怎样使用SSH连接OpenStack上的云主机
转载请注明出处.否则将追究法律责任http://blog.csdn.net/xingjiarong/article/details/47021815 在上一篇博客中我介绍了怎样在OpenStack中创 ...
- 如何在OpenStack中对云主机类型进行重新配置
目标:很多用户在OpenStack启动一个虚拟机,选择了一个云主机配置类型,例如2CPU 4GB内存,使用了一段时间,感觉这个配置并不能满足需求,所以希望能够提高配置,那么OpeNStack的管理界面 ...
- 干货|带你体验一次原生OpenStack云平台发放云主机的过程
一个执着于技术的公众号 1 前言 上一章节我们完成了OpenStack云平台的搭建工作,今天就带大家一起学习下如何发放一台云主机 点击查看:如何搭建一套OpenStack云平台 2 发放OpenSta ...
- Openstack Neutron:三层技术和实现
目录 - 1.Neutron 三层技术简介 - 2.集中式router - 1.在节点上安装L3 agent - 2.配置外部网络 - 3.通过CLI或者Horizon 来创建路由 - 4.连接租户网 ...
- 云主机搭建Kubernetes 1.10集群
一.基础环境 云主机 下载软件包 将所有软件下载至/data目录 # 链接:https://pan.baidu.com/s/13DlR1akNBCjib5VFaIjGTQ 密码:1l69 # 链接:h ...
- openstack环境下的虚拟机通过浮动IP访问后能ping通外网IP不能ping通域名
1.环境简介 openstack环境下构造Ubuntu系统的VM,VM配置受管子网和自管子网,同时绑定浮动IP 2.通过浮动IP访问VM后,ping www.baidu.com失败,但是通过IP地址p ...
随机推荐
- “海市蜃楼”般的逛街体验——VR全景智慧城市常诚
<史记·天官书>:"海旁蜃气像楼台:广野气成宫阙然." 海市蜃楼,简称蜃景,是一种因为光的折射和全反射而形成的自然现象,是地球上物体反射的光经大气折射而形成的虚像. 2 ...
- 破解 Adobe 系列的最佳方法,手把手教
此方法是个人认为最方便的而且最安全的方法(可以避免下载到可能捆绑病毒的破解版本) 1.首先到Adobe的官网上下载 Creative Cloud: 打开官网上creative cloud 的下载页面: ...
- python_adb 图形界面获取app测试数据,并展示部分测试报告v1.0版本
想到平时想用adb 我就忍不住去翻开笔记,脑子记不住,不好使,不知道大家有没有这个想法呢,不管你有没有,反正我有了,ttm,太烦人了,于是乎,我就开始给自己写个需求文档, 这就是我写的,产品需求,合理 ...
- EntityFramework Core映射关系详解
前言 Hello,开始回归开始每周更新一到两篇博客,本节我们回归下EF Core基础,来讲述EF Core中到底是如何映射的,废话少说,我们开始. One-Many Relationship(一对多关 ...
- UIButton图片文字控件位置自定义(图片居右文字居左、图片居中文字居中、图片居左文字消失等)
在开发中经常会碰到需要对按钮中的图片文字位置做调整的需求.第一种方式是通过设置按钮中图片文字的偏移量.通过方法setTitleEdgeInsets和setImageEdgeInsets实现 代码如下: ...
- ES 2015/6 新特性汇总
ES 2015/6 新特性汇总 箭头函数 箭头函数,通过 => 语法实现的函数简写形式,C#/JAVA8/CoffeeScript 中都有类似语法.与函数不同,箭头函数与其执行下文环境共享同一个 ...
- head first python helloword
如何使用python 打出hello word 在python shell 键入print 'hello word'( python 2) or print ("hello word&qu ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- 让textarea和附近的文字居中对齐
textarea {display:inline-block;vertical-align:middle;}
- python核心数据结构之字典
 [TOC ...