python openstack vpc互通_深入浅出新一代云网络——VPC中的那些功能与基于OpenStack Neutron的实现(四)-云主机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/31 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

,可这样浮动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) 了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值