在openstack环境创建的多台云主机配置keepalived作主备,默认情况下无法生效,直接对云主机一张网卡配置两个IP进行测试也是同样结果,因为:

可以看到,port所在的宿主机上iptables 对 MAC地址和IP进行了限制。所以需要如下操作:

pre.   确认云主机网卡port_id

  1. nova interface-list [vm_id]

1.  确认 ml2 配置中

  1. arp_responder = False

 或 未配置(因为默认为false);

2.  对需要配置vip的port,可以直接 disable 安全组 (不推荐):

  1. neutron port-update --no-security-groups --port-security-enabled=False [port_id]

eg.

  1. neutron port-update --no-security-groups --port-security-enabled=False aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa

也可以使用 allowed-address-pair功能 (推荐) :

  1. neutron port-update --allowed-address-pair ip_address=[CIDR] [port_id]

,如  :

eg.

  1. neutron port-update --allowed-address-pair ip_address=10.1.100.100 aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa

  1. neutron port-update --allowed-address-pair ip_address=10.1.100.100/ aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa

到这一步为止,云主机内配置上面的 vip 就已经可以使用了。

3.  为了避免后续创建的云资产占用vip ,创建闲置的port,占用掉vip地址:

  1. neutron port-create --fixed-ip ip_address=[IP_ADDR] [network_id]
  1. 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 是

  1. nova floating-ip-associate <server> <address>

,可这样浮动IP绑定的是云主机网卡原始IP (10.1.100.7),不是vip (10.1.100.100)

,所以我们得使用neutron 的相关接口。

4.   创建浮动IP

  1. neutron floatingip-create [floating_net_id]
  1. neutron floatingip-create cccccccc-cccc-cccc-cccc-cccccccccccc

5.   绑定

  1. neutron floatingip-associate [floatingip_id] [port_id]

先将刚才通过nova CLI 绑定的解绑

开始绑定

  1. 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 步骤及注意事项的更多相关文章

  1. Openstack neutron:云数据中心底层网络架构

    目录 - 目录 - 云数据中心流量类型 - NSX整体网络结构 - 管理网络(API网络) - 租户网络 - 外联网络 - 存储网络 - openstack整体网络结构 - 管理网络:(上图中蓝线) ...

  2. openstack 一键部署云主机

    两边虚拟机时间不一样cinder会报错. 在computer节输入命令 ntpdate 192.168.10.100 systemctl restart openstack-cinder-volume ...

  3. openstack命令创建云主机实例

    @ 目录 前言 上传centos镜像 创建实例 创建外网卡 修改安全组规则 创建云主机实例 前言 简单创建云主机实例只需要上传一个测试镜像.创建一张外网卡.创建一个实例类型.修改安全组规则即可 注:这 ...

  4. 怎样使用SSH连接OpenStack上的云主机

    转载请注明出处.否则将追究法律责任http://blog.csdn.net/xingjiarong/article/details/47021815 在上一篇博客中我介绍了怎样在OpenStack中创 ...

  5. 如何在OpenStack中对云主机类型进行重新配置

    目标:很多用户在OpenStack启动一个虚拟机,选择了一个云主机配置类型,例如2CPU 4GB内存,使用了一段时间,感觉这个配置并不能满足需求,所以希望能够提高配置,那么OpeNStack的管理界面 ...

  6. 干货|带你体验一次原生OpenStack云平台发放云主机的过程

    一个执着于技术的公众号 1 前言 上一章节我们完成了OpenStack云平台的搭建工作,今天就带大家一起学习下如何发放一台云主机 点击查看:如何搭建一套OpenStack云平台 2 发放OpenSta ...

  7. Openstack Neutron:三层技术和实现

    目录 - 1.Neutron 三层技术简介 - 2.集中式router - 1.在节点上安装L3 agent - 2.配置外部网络 - 3.通过CLI或者Horizon 来创建路由 - 4.连接租户网 ...

  8. 云主机搭建Kubernetes 1.10集群

    一.基础环境 云主机 下载软件包 将所有软件下载至/data目录 # 链接:https://pan.baidu.com/s/13DlR1akNBCjib5VFaIjGTQ 密码:1l69 # 链接:h ...

  9. openstack环境下的虚拟机通过浮动IP访问后能ping通外网IP不能ping通域名

    1.环境简介 openstack环境下构造Ubuntu系统的VM,VM配置受管子网和自管子网,同时绑定浮动IP 2.通过浮动IP访问VM后,ping www.baidu.com失败,但是通过IP地址p ...

随机推荐

  1. 点评阿里JAVA手册之编程规约(命名风格、常量定义、代码风格、控制语句、注释规约)

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为一星(★) 码出高效.码出质量. 代码的字里行间流淌的是 ...

  2. JS 使用 splice() 对数组去重

    一 问题 有如下 js 数组 connect_clients,需要在去掉所有元素中 user_id, goods_id 这两者的值都相同的元素. [ { id: 'eff040fb-92bc-4f24 ...

  3. Coursera 机器学习笔记(六)

    主要为第八周内容:聚类(Clustering).降维 聚类是非监督学习中的重要的一类算法.相比之前监督学习中的有标签数据,非监督学习中的是无标签数据.非监督学习的任务是对这些无标签数据根据特征找到内在 ...

  4. Ubuntu下Tomcat初始配置

    1.下载tomcat安装包 从tomcat官方网站http://tomcat.apache.org下载安装包,然后解压到某个目录,比如: ~/opt/apache-tomcat-7.0.63官方文档中 ...

  5. webpack vue 配置

    vue-loader 1.)首先创建项目目录 --vue-loader文件夹 |-index.html 入口文件 |-main.js 入口文件 |-App.vue Vue文件 |-package.js ...

  6. HTML4,HTML5,XHTML 之间有什么区别?

    原始日期:2014-10-25 14:12 我来从HTML的历史谈谈他们3者的区别.在HTML的早期发展中,W3C成立之前,很多标准的制定都是在浏览器的开发者们互相讨论的情况下完成的,比如HTML 2 ...

  7. 原生js实现Ajax的原理。

    Ajax(Asynchronous JavaScript and XML)表示异步的js与xml. 有别于传统web的同步开发方式. 原理:通过XMLHttpRequest对象向服务器发送异步请求,从 ...

  8. C++ type_traits 原理

    一.简单介绍 (1).type_traits 类型萃取,C++11中已结成为了一个核心模块. (2).标准库包括helper classes .type traits.type transformat ...

  9. oracle学习笔记(2)-基本术语

    oracle基本术语 先上图. 相当粗糙的一个图,可能有些地方不够精细,大致结构基本是对的. 逻辑结构上从大到小的依次为文件(file)->表空间(tablespace)->段(segme ...

  10. hibernate查询部分字段转换成实体bean

    //hibernate查询部分字段转换成实体bean /** * 查询线路信息 */ @Override public List<Line> getSimpleLineListByTj(M ...