tflive直播回放丨frankwu:当openstack遇到tungstenfabric

author author     2022-12-14     186

关键词:

10岁的OpenStack,已经是开源IaaS世界里的“成年人”,自从遇到开源SDN小伙伴Tungsten Fabric,两人便成为闯荡混合多云世界的好搭档。

5月26日,在TF中文社区线上直播活动【 TF Live 】中,Mirantis中国区技术工程师Frank Wu与大家进行了在线交流,并以Mirantis MCP云平台为例,演示了OpenStack与Tungsten Fabric的集成过程。

本期活动,由TF中文社区、OpenStackChina与SDNLAB合作举办。

【pdf文档下载】
https://tungstenfabric.org.cn/assets/uploads/files/tf-live3-mcp-openstack-tungsten-fabric.pdf

【直播视频回放】

https://v.qq.com/x/page/b0973v4ctgz.html

【高清视频下载】

https://pan.baidu.com/s/1_f6rZDf9utY1DJaqCm94bA
提取码:p17v

Frank在2018年加入Mirantis,曾负责Mirantis中国区大客户云环境的实施和技术支持,专注于虚拟化和容器化云平台,对于OpenStack和Tungsten Fabric都很早接触。在5月26日的直播活动中,Frank分享了对这两个技术的实践经验。

OpenStack与Tungsten Fabric如何对接

Tungsten Fabric的核心技术是基于BGP MPLS V P N技术,通过BGP协议分发路由,包括二层转发表的路由信息,同时交换V P N的信息,来实现链路隔离。通过SDN控制器和虚拟路由器,Tungsten Fabric可实现控制平面和转发平面的分离。

除了OpenStack,Tungsten Fabric还支持Kubernetes和VMware vCenter等多种编排器,也能实现多个集群的网络互联。

Tungsten Fabric支持提供虚拟网络的二层和三层隔离,以及负载均衡、服务链等功能,还支持使用Netconf来对一些物理设备进行管理。

那么,OpenStack和TF对接的数据流是怎样的呢?

首先,在OpenStack和Tungsten Fabric中,项目和用户都是一一对应的。

通过OpenStack的控制节点,配置流程去使用插件,将收到的OpenStack请求转换成对应的Tungsten Fabric的请求,发送给TF的API,这个插件作为核心插件,平时在流程的配置文件里面。

随后,vRouter通过XMPP协议接收TF控制节点下发的路由表。计算节点拿到所有虚拟机相关的信息后,分配资源,为虚拟机创建接口,将接口连接到对应虚拟网络的VRF中,这时再启动虚拟机。虚拟机通过vRouter代理的DHCP获取IP地址。

接下来,当虚拟机创建成功后,怎么进行数据通信?

我们来看OpenStack与Tungsten Fabric对接的数据转发流程。在拓扑图上,只有计算节点有租户虚拟机,才会在VRF创建routing instance,包括实例1a和2a。
技术图片

流程如下:

  • VM 1a发送arp请求并由路由实例1a进行响应;
  • VM 1a发送ip报文到路由实例1a,查询ip信息转发表后获得了虚拟机2a的路由;
  • 对VM 1a发过来的数据包进行MPLS和GRE封装;
  • 数据包从计算节点1通过GRE Tunnel发送到计算节点2上;
  • 数据包在计算节点2上被解封装,查询MPLS转发表之后发送到路由实例2a;
  • 路由实例2a查询ip转发表之后找到VM 2a对应的地址与虚拟端口,并最终将数据包发送给VM 2a。

如何在MCP平台部署

作为OpenStack社区代码贡献前五之一,Mirantis提供运行OpenStack和Kubernetes所需的所有软件、服务、培训和支持,并开发了MCP平台作为功能丰富的自动化部署工具。
技术图片

MCP平台架构概览

接下来看MCP的架构。首先在云平台中,通过整合一些工具来实现整个云环境升级和运维的自动化,并且基础设施内的任何更改,如添加新节点或更改服务的监听端口,都是通过修改reclass的配置文件来完成的,实现了一种基础设施即代码的理念。

MCP同时支持选择OVS或者Tunsten Fabric来作为OpenStack的网络组件,OVS比较简单,而且不需要额外的物理网关设备,但是功能上相对于Tunsten Fabric要少一些,而Tunsten Fabric不仅有服务链,网络数据分析等功能,还是能支持多集群的SDN。

平台上还有一台OSS系统,包括日志,监控,告警等功能,都是基于成熟的开源软件来实现的。

MCP上的SDN数据流量方面,Tungsten Fabric通过建立在data网络之上的overlay网络,来处理在MCP集群中的东西向和南北向流量。

Tungsten Fabric控制器与vRouter之间的控制平面通信使用XMPP协议。当一台虚拟机在计算节点上被创建时,TF控制器会给对应的vRouter下发该虚拟机所在虚拟网络的转发表。

Tungsten Fabric控制器与网关之间的控制通信使用iBGP协议,将带有ASN和target的虚拟网络的路由发布到网关路由器上。相当于建立了虚拟网络和网关路由器vrf的映射关系,并且通过ibgp协议来维护这种关系,实时的更新,下发路由表。

在MCP集群中,一个最小的OpenStack + Tungsten Fabric生产环境的部署,需要至少3台物理机作为KVM节点来实现服务的高可用,运行虚拟控制平面所有的虚拟机,以及2-3台物理机作为OpenStack计算节点。

  • cfg节点,作为salt-master管理集群中所有的节点;
  • ctl节点,OpenStack Controller节点,运行OpenStack各组件相关的API;
  • ntw节点,作为TF控制器,其上运行了包括Tungsten Fabric的API和配置数据库等服务以及中间件;
  • nal节点,其上运行了两个容器,基于Tungsten Fabric计量和分析包的服务,如分析API、警报生成器和数据收集器,以及中间件;
  • cmp节点,OpenStack计算节点,其上运行了OpenStack的nova-compute和Tungsten Fabric的vRouter。

在demo演示环节,Frank详细介绍了基础环境和部署流程:

  • 手动部署KVM节点,在上面把镜像源的cfg节点运行起来;
  • 进行操作系统安装后,物理节点自动加入master的管控;
  • 去salt master节点上修改reclass配置,在reclass里面,每个组件都有一个对应目录,进入各组件的目录中按照需求和实际的环境去修改reclass配置;
  • 在OpenStack目录定义OpenStack安装哪些组件,在tf目录中定义tf配置网关路由器等信息;
  • 然后登录到DriveTrain的Jenkins上,通过指定的pipeline以及对应的传入参数,完成各个组件的部署;
  • 在参数行填入名称,部署对应组件,pipeline可以重复执行;
  • 登录到OpenStack Controller节点,获取虚拟网络信息, 那么会发现这里有三个网络,这三个网络都是Tungsen Fabric里面默认创建的网络,这表明neutron现在能够拿到Tungsen Fabric中的网络信息,也就以为这neutron与Tungsen Fabric已经完成了实际的对接;
  • 在neutron plugin配置文件中,定义了IP地址和端口;
  • 登录Tungsten Fabric的控制器节点,上面运行了一个容器,通过doctrail allcontrail-status命令可以看到在这台容器上运行的所有的Tungsten Fabric服务,包括五个部分:Control,Config,Config Database,Web UI,Support Services;
  • 在Tungsten Fabric的管理面查看TF控制节点的peer列表,控制节点与两台vRouter完成了XMPP的连接,那么一旦有新的路由更新,TF控制节点会自动下发到对应的路由条目到vRouter, 并且计算节点上有会有相应的VRF被创建;
  • 在数据平面(vRouter)上,流量过滤由网络策略和安全组派生的acl控制。
  • 当vRouter转发模块获得第一个包时,它创建一个数据流并将包发送到vRouter agent。当vRouter agent获取数据包时,它首先应用安全组的ACL和网络策略的ACL。
  • 通过ACL的数据包才会查找VRF以获得下一跳的地址。否则,数据包将会被丢弃。

部署流程完成后,Frank针对这个环境中的OpenStack和Tungsten Fabric的基本网络功能,以及“负载均衡即服务”功能进行了演示。

OpenStack最初的负载均衡功能是跟neutron结合到一起,后来从neutron剥离出来,以达到更好的功能。

在OpenStack和Tungsten Fabric对接后,负载均衡由Tungsten Fabric接管,在服务链里看到HAproxy-loadbalance-template模板,配置左侧和右侧接口,左侧VIP和监听器,右侧后端服务节点,后端需要配置两块网卡,增加了复杂性。在2.0版本上,支持同一侧配置,在同一个子网内。

当我们使用Neutron LBaaS命令去创建虚拟IP和池的时候,Tungsten Fabric通过插件监听到相关的请求,进而去创建一个服务实例。然后调度器将随机选择一台计算节点,并在上面实例化一个Linux网络命名空间,并在命名空间中配置HA代理。然后再选择另外一台计算节点,进行相同的操作,作为备用HA代理实例。而且由svc-monitor服务去调度vRouter事实的更新本地对应的HAproxy配置文件。

往期回顾

KK/建勋:多云、SDN,还有网工进化论
杨雨:Tungsten Fabric如何增强Kubernetes的网络性能


技术图片
技术图片

直播预告丨开源sdn互通实战演示与经验分享

第四场TFLive带来多平台互通及服务链的演示。7月9日本周四19点,TF中文社区线上直播活动,将由华胜天成网络架构师王峻,和您一起聊聊TungstenFabric在企业统一管理平台中的作用和表现。本期活动,由TF中文社区与SDNLAB合作举办... 查看详情

直播回放丨jumpserver开源堡垒机跨年漫谈会

...新之际,JumpServer开源项目创始人广宏伟在B站进行了直播首秀,和大家一起跨年漫谈JumpServer的过去、现在和未来。老广用其诙谐幽默的演讲方式,在直播间与广大社区开发者和用户交流了以下话题:■JumpServer发展... 查看详情

tflive首期预告:多云时代,聊聊sdn开源架构

来了来了!TF中文社区线上直播活动“TFLive”即刻启动~TF中文社区技术代表、瞻博网络中国区合作伙伴技术经理张建勋,将在首次直播活动中,和您一起聊聊如何面对这个多云架构时代。本期活动,由TF中文社区与SDNLAB合作举办... 查看详情

直播预告丨2022智能云边开源峰会

直播时间:本周五-本周六 主办方:VMware、Intel、EMQ、Kyligence、江行智能、灵雀云等企业观看渠道:边缘计算社区视频号周五:云原生分论坛议程周六:边缘计算分论坛议程全球边缘计算大会深圳站圆满落幕&#x... 查看详情

精彩回顾丨teachain全球社区ama:《teachain商业价值》

...展历程、技术、未来规划以及商业价值。若想回顾此次AMA直播内容可进入一直播APP搜索直播ID1398611264观看回放记录。鉴于直播干货较多,我们截取了部分精彩内容呈现文字内容如下:一、关于《TEACHAIN项目发展历程》讨论... 查看详情

手机端虎牙直播回放怎么还原弹幕

要在手机端虎牙直播回放中还原弹幕,可以按照以下步骤进行操作:1.打开虎牙直播APP,并找到您要观看回放的直播间。2.在直播间中,找到“回放”选项,点击进入回放界面。3.在回放界面中,找到屏幕下方的“弹幕”选项,并... 查看详情

双11作战现场精彩直播回放

查看详情

您有一份直播回放待查收!

在各位伙伴们的积极参与下,这次社区版重启直播顺利结束。再次感谢大家对CloudQuery的支持和关注!本文将回顾直播内容、整合用户问题、发布获奖名单,为此次活动画上句点。01直播回顾●社区版的发展历程、重启升级●1.5全... 查看详情

手机腾讯视频直播回放怎么调进度?

手机腾讯视频的直播回放调进度的话就可以点一下视频,然后下面出来个横线。来回调节就可以了。参考技术A你好,视频直播回放,这个得看一下你是通过什么软件观看的直播,如果是影视app软件的话,直接滑动屏幕就能够调... 查看详情

如何下载企业微信上课直播回放

一、标题官方渠道直播时开启了直播回放,在15天到期的时候,直播发起人会收到消息提醒,在windows系统的企业微信客户端,可直接点击消息下载回放。截止目前Mac版还没有此功能(2021年09月29日)。二、非官方渠道... 查看详情

如何下载企业微信上课直播回放(代码片段)

一、标题官方渠道直播时开启了直播回放,在15天到期的时候,直播发起人会收到消息提前,在windows系统的企业微信客户端,可直接点击消息下载回放。截止目前Mac版还没有此功能(2021年09月29日)。二、非官方渠道... 查看详情

直播预告丨openstack如何集成tungstenfabric

查看详情

通过抓包下载钉钉直播回放

通过抓包下载钉钉直播回放一、安装Fiddler提供个官网下载链接,同样,再带一个比较友好的下载链接:https://wwa.lanzoui.com/b016dlm4d密码:fvap。二、设置Fiddler捕捉HTTPS流量点击Tools,选择Options...三、启动钉钉四、中间人注入选吹灭读... 查看详情

开源项目丨一文详解一站式大数据平台运维管家chengying如何部署hadoop集群

...:关注公众号“数栈研习社”,后台私信“ChengYing”获得直播课件视频回放:​​点击这里​​ChengYing开源项目地址:​​github​​ 丨 ​​gitee​​ 喜欢我们的项目给我们点个__STAR!STAR!!STAR!!!(重要的事情... 查看详情

电脑微信直播助手怎么看观看时长

微信直播看到观看时长的数据1、首先第一步就是打开企业微信,点击一下工作台。2、然后就是打开直播选项。3、打开查看直播记录。4、选择直播记录选项。5、在详情界面会显示直播时长以及观看人数。6、保存了直播回放,可... 查看详情

给错过,一次重来的机会|flutterfestival直播回放来啦!

...“补课”环节直达“划重点”,重温活动精彩瞬间Get直播回放链接,查漏补缺 初识Flutter或FlutterFestival的朋友们👇欢迎看这里👇补课时间什么是FlutterFestival Flutter是Google开源的应用开发框架, 查看详情

otalk直播回顾丨折叠屏应用适配「必备攻略」

折叠屏市场逆势增长,大屏应用需求持续上升,打造高品质的折叠屏应用生态成为提高用户体验的关键。为此,OPPO举办了「OTalk」折叠屏应用生态专场直播活动,下面带大家一图看懂OPPO折叠屏应用适配攻略。 查看详情

开源交流丨任务or实例详解大数据dag调度系统taier任务调度

...取:关注公众号“数栈研习社”,后台私信“Taier”获得直播课件视频回放:​​点击这里​​ChunJun开源项目地址:​​github​​​丨​​gitee​​喜欢我们的项目给我们点个__STAR!STAR!!STAR!!!(重要的事情说三遍)__技术... 查看详情