前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vxlan network dvr baremetal floating ip

vxlan network dvr baremetal floating ip

作者头像
惠伟
发布2021-02-24 11:22:42
7980
发布2021-02-24 11:22:42
举报
文章被收录于专栏:虚拟化笔记虚拟化笔记

我们知道dvr模式下,l3-agent在每个计算节点生成了一个vrouter,服务于此计算节点上的虚机,计算和网络结合的地方在于port,虚机在哪个计算节点是通过port的binding:hostid知道的。虚机绑定floating ip,外出流量到qrouter namespace做SNAT,再根据ip rule查路由到fip namespace,在fip namespace配置一条路由,开启proxy_arp,把回来的流量先引到fip namespace,再转给qrouter namespace做DNAT。

baremetal采用vxlan network,需要L2GW打通vxlan和vlan,L2GW实现了ovs vtep schema,有physical switch, logical switch, physical port, physical locator, local mac, remote mac等概念,其中最重要是就是remote mac和physical locator的关联关系,就是一个目的mac要从哪个tunnel发送出去打个哪个vni。这些对应关系都是l2gw-agent通过ovsdb协议写给l2gw。

baremetal port没有绑定的hostid,LBaas中的vip有可能漂移,也没有绑定的host_id,它是怎么绑定floating ip的。看代码发现是这样的:给port绑定floatingip时,如果port有host_id,那么通知host_id指向的物理机上的l3 agent,没有host_id通知snat l3 agent,天然还支持router的ha功能。

那么只要允许neutron中给vnic_type=baremetal的port绑定floating ip,再在ironic创建baremetal时update_port时把host_id设置为空,那么就可以给baremetal绑定floating ip了,试一下还真可以。

最后baremetal绑定floating ip后流量如下图所示,红色是baremetal出外网的流量,绿色是外网回来的流量,有点不对称,可能影响firewall有状态的检测,不过router ha也可以搞定,不再需要做额外的工作。

L2GW根据l2gw-agent配置的remote mac和physical locator发送给右边的网络节点的qrouter,qrouter根据ip rule发送给左边网络节点的snat namespace,再做SNAT发送外网。外网回来的流量在snat namespace做DNAT,到qrouter namespace直接通过vxlan到l2gw,再到baremetal节点。

总结一下,openstack原生不能给baremetal绑定floating ip,只要两点很小的修改就可以实现了,但不知道有没有什么风险?欢迎留言指出。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NAT 网关
NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档