基于TF打通异构资源网络实践丨OpenInfra Days China实录



  • 在OpenInfra Days China 2020大会上,分享了三个Tungsten Fabric相关技术主题演讲,我们整理推送文章分享其中的精华内容。今天最后一篇来自北京华胜天成软件技术有限公司网络架构师—王峻、SDN开发工程师—唐志军带来的联合演讲《基于TF打通异构资源网络实践》。

    【直播视频回放】
    https://v.qq.com/x/page/c3142h2k4uh.html

    【pdf文档下载】
    https://tungstenfabric.org.cn/assets/uploads/files/tf.pdf

    作为开源SDN的代表,不少厂商都基于Tungsten Fabric开发出了成熟的应用方案,华胜天成异构混合云管理平台就是其中一例。由华胜天成自主开发的统一云平台管理系统,包含虚拟化层,管理层(包括OpenStack、K8s、vCenter等),API层,云管平台(服务引擎、运营运维管理、应用编排/Devops/PaaS),网络架构等丰富的模块和功能。

    b939fdba-ff52-4e0c-ac28-dbe123d90e38-image.png

    当然,对于上层应用的支持来说,具体由哪个资源池承载,用到什么服务编排,种种情况也是比较复杂的,这对SDN提出了挑战。例如Web层可能会落到K8s资源池,数据库可能落到BMS、KVM或者VMware资源池,需要保障底层承载互相调用的连通性。

    由此,对于SDN解决方案的需求可以总结为:实现异构资源池互通,硬件解耦,自主可控。通过对比多种商业版和开源解决方案,华胜天成最终选择了Tungsten Fabric支撑其OpenStack、K8s、VMware各种平台资源,并通过device manager进行物理设备管控。

    5e7e73c1-da0d-4fcd-8acd-716b537206b8-image.png

    基于成熟的BGP技术,Tungsten Fabric能够一站式解决云网络难题,支持与多种云资源编排平台对接,跨物理机虚拟机容器的统一编排,支持多云和跨云策略控制,支持DPDK,且开放系统不受供应商锁定。

    那么,Tungsten Fabric是如何做到异构资源池集成的呢?

    具体来说,Tungsten Fabric架构分控制平面和转发平面两大部分,通过控制器(Controller)和vRouter的转发单元提供相关功能。

    基于北向API接口,Tungsten Fabric提供了一整套neutron插件,实现了虚拟网络、接口、IP等资源管理逻辑,能够和配置模块互通,应对多种编排平台的工作,翻译成vRouter能识别的配置语言,指导虚拟网络之间以及虚拟网络和物理网络的互通。

    Tungsten Fabric对underlay承载网络比较宽容,只要提供三层的IP fabric,就可以构建Tungsten Fabric的overlay网络,避免了二层underlay网络对物理的限制,能够做到大规模部署。

    至于外部网络访问到虚拟机或容器的服务,Tungsten Fabric是将VMX作为网关路由器的角色,加上MPLSoverGRE的隧道,以此打通虚拟网络和物理网络。

    在集成OpenStack之后,Tungsten Fabric还提供了一定的BMS裸机管理功能。

    3b1e1796-35bd-4234-810c-eef9393b1a3c-image.png

    对于K8s集成,Tungsten Fabric提供了一整套CNI插件,为Pod网络、Service网络、Ingress等网络,提供插件实现,组网方式类似OpenStack,并且带来了Ingress的资源实现方式,让用户可以更灵活地访问k8s服务。

    Tungsten Fabric还对K8s的资源都提供了浮动IP功能,可以从外部访问,保护私有地址的信息。同时提供了多租户隔离特性,更高级别的特性在Tungsten Fabric都有支持,不同租户之间创建pod或service等资源时,允许用户选择独特的IP地址段,对原生K8s网络有扩充功能。

    在统一业务编排方面,Tungsten Fabric控制器的东西向接口采用BGP协议,在连接到其他控制器的时候,控制器之间建立BGP邻居,实现控制器中间的路由交换。

    具体到多资源池的连通,主要有两种方式。通过每个资源池里的Tungsten Fabric之间建立BGP邻居,借助路由目标的技术,让用户选择和控制与哪个虚拟网络进行互通,实现跨资源池的三层网络互通。虚拟资源池与外部访问,则是借助资源池的网关路由器,通过vRouter,在网关路由器配置RT,和网关服务器做RT的打通。 
    d1dbc4bd-54cb-442d-99d6-fdf39654b274-image.png

    在Tungsten Fabric的方案中,不管K8s、OpenStack,还是vCenter都是统一的,给虚拟网络创建一个Public网络,配置成和网关路由器一样的RT,再将分配出来的浮动IP绑定到某个虚拟机、工作负载、K8s的service或ingress,和匹配的虚拟机口关联上,以此实现和外部网络的连通关系。

    Tungsten Fabric服务链的实现思路也类似,通过路由策略来进行控制。如果虚拟机引流到VNF上,需要给虚拟机所在网络配置策略,从接口出来的流量都导通到VNF的左接口上,左右两个网络之间需要网络策略引流,再由右接口引入另一个网络,之间通过RT就能够打通。所有Tungsten Fabric里对于服务链的引流方式,都是通过路由的灵活控制实现的。

    通过一段时间的摸索,华胜天成将Tungsten Fabric集成到云平台,整合进各个资源池,进行了一系列统一网络编排的实践。在整个过程中,他们也发现Tungsten Fabric存在的局限性,例如只能连接到虚拟网络,裸机完整的生命周期的管理还存在一些问题等,在社区也与大家进行了交流。

    两位专家最后表示,为更好实现云管平台多业务的灵活编排,将对Tungsten Fabric控制器做进一步深入实践、研究和优化。同时号召大家一起参与进来,共同打造Tungsten Fabric开源SDN生态,更好推动Tungsten Fabric集成部署与后期技术落地。

    推荐阅读
    详解TF云原生技术路线图丨2020 OpenInfra Days China 演讲实录
    企业网络演进与SDN生态丨2020 OpenInfra Days China演讲实录

    efdb7438-0f43-4ef0-b5c9-a9cd2c724c4b-image.png


Log in to reply