Hi!这里是TF中文社区关于Tungsten Fabric架构解析内容的第二篇,解读TF如何运做。本文介绍TF控制器和vRouter的软件体系结构,以及在虚拟机或容器启动时,vRouters与Tungsten Fabric控制器之间的交互。 Tungsten Fabric架构解析系列文章,旨在帮助初入TF社区的朋友答疑解惑,咱们将系统介绍TF有哪些特色、如何运做、如何收集/分析/部署、如何编排、如何链接到物理网络等话题。
Tungsten Fabric控制器集成了OpenStack或Kubernetes等云管理系统,其功能是确保在建立虚拟机(VM)或容器时,根据控制器或协调器中指定的网络和安全策略为其提供网络链接。安全
Tungsten Fabric由两个主要软件组成:
• Tungsten Fabric 控制器– 一组维护网络和网络策略模型的软件服务,为实现高可用性,一般在多个服务器上运行。
• Tungsten Fabric vRouter– 安装在运行工做负载(虚拟机或容器)的每一个主机上,vRouter执行封包转发,并实施网络和安全策略。服务器
Tungsten Fabric的典型部署以下图所示:微信
Tungsten Fabric控制器经过软件插件与协调器集成在一块儿,该插件实现了协调器的网络服务。网络
例如,OpenStack的Tungsten Fabric插件实现了Neutron API,kube-network-manager_和_CNI(容器网络接口)组件使用Kubernetes k8s API监听网络相关事件。架构
Tungsten Fabric vRouter取代Linux桥接器和IP表,或计算主机上的Open vSwitch网络,控制器配置vRouters以实现所需的网络和安全策略。并发
VM的封包若是要转发到不一样主机上,vRouter会加MPLS over UDP / GRE或VXLAN封装,其中外部标头的目标是运行目标VM的主机的IP地址。控制器负责在每一个实现网络策略的vRouter的每一个VRF中安装路由集。ide
例如:默认状况下,同一网络中的虚拟机能够相互通讯,但不能与不一样网络中的虚拟机进行通讯,除非在网络策略中特别容许。控制器和vRouters之间的通讯是经过一种普遍使用且灵活的消息传递协议XMPP实现的。网站
云自动化的一个关键特性,是用户能够为其应用程序请求资源,而无需了解如何或在何处提供资源的详细信息。插件
这一般是经过一个门户网站完成的,该门户网站提供了一组服务产品,用户能够从中选择,并将其转换为API调用到底层系统,包括云协调器,以启动具备必要内存、磁盘和CPU的虚拟机或容器,知足用户要求的能力。3d
服务产品能够像具备特定内存、分配给它的磁盘和CPU的虚拟机同样简单,也能够包括由多个预配置软件实例组成的整个应用程序堆栈。
Tungsten Fabric控制器和vRouter的架构,以及与协调器的交互,以下图所示:
该图显示了一个协调器工做虚拟机管理程序和虚拟机,这和容器协调器的信息流相似,例如Kubernetes(带有Tungsten Fabric的Kubernetes容器)。
主机上运行的工做负载的每一个接口都链接到VRF,包含相应网络的L2和L3转发表,其中包含该接口的IP地址。
vRouter实现物理路由器执行的集成桥接和路由(IRB)功能。vRouter仅具备位于该主机上有网络接口的VRF,包括链接到主机物理接口的Fabric VRF。使用VRF可使不一样的虚拟网络具备重叠的IP和MAC地址,不会定义任何网络策略来容许它们之间的流量。
Tungsten Fabric虚拟化网络使用封装隧道在不一样主机上的VM之间传输封包,而封装和解封装在Fabric VRF和VM VRF之间发生。
建立新的虚拟工做负载时,会在特定于orchestrator的插件中看到一个事件并将其发送到控制器,而后控制器会向代理发送请求,以便在虚拟网络的VRF中安装路由,而后代理将其配置在转发器里。
使用单个接口在新VM上配置网络的逻辑流程以下:
在此过程结束时,已更新数据中心中全部vRouter的VRF中的路由已经有新VM的信息。
Tungsten Fabric架构解析文章第一篇:TF主要特色和用例
关注微信:TF中文社区