为了统一管理不同编排系统的网络模块,简化虚拟网络功能的开发过程和虚拟网络工作组实现的新的虚拟网络架构 - 电缆。
在OpenStack架构中,Neutron充当管理虚拟机网络的虚拟网络模块。随着容器技术的发展,越来越多的应用程序正在Kubernetes等容器编排系统中实现,而Kubernetes也有自己的网络管理模块,如Flannel,Calico等。单独维护OpenStack和Kubernetes网络模块不仅会增加管理成本,还不能满足容器网络和虚拟机的互通要求。为了统一管理不同编排系统的网络模块,简化虚拟网络功能的开发过程,虚拟网络工作组实现了新的虚拟网络架构电缆。
基金简介
目前,该公司的虚拟网络架构存在以下不足:
1.物理机,虚拟机和容器网络分开管理,无法实现直接互联互通;
2. Neutronagent中的DHCP和元数据采用集中式服务,鲁棒性不足;
3,vxlan实现需要外部路由器支持,比较复杂。
新的网络架构必须符合物理机,虚拟机和集装箱网络的统一管理,才能实现直接互联;简化中性和中性架构,实现DHCP,元数据和其他功能;在虚拟网络级别实施vxlan;提供新功能,例如交通复制。
实现解决方案
电缆框架的总图
为了符合申诉要求,Cable架构实现了以下两个关键点:
虚拟数据平面
虚拟数据平面不再基于OVS,而是使用最丰富的vrouter.ko虚拟路由器功能。 vrouter.ko是瞻博网络在开源数据模块中的OpenContrail架构虚拟网络。 OVS与简单数据包转发相比,vrouter.ko支持虚拟网络路由,VXLAN,安全组配置表,NAT/snat配置流表,流量镜像功能。丰富的数据平面功能可简化开发网络功能模块的难度。
2.来自研究管理层
从研究管理计划重新设计。统一管理OpenStack管理计划和Kubernetes网络模块; Kubernetes在时钟模式下使用,主动监控平台的资源发生变化,并执行相关操作;使用vrouter.ko流实现分布式DHCP,实现nat,安全组等功能。
3.Cable工作流程
当用户请求到达NeutronServer时,ContrailNeutronPlugin将请求转发到电缆的控制节点(ControlNode)。请求控制交换节点接近API,API将接收到的请求发送到相应的模块,其中控制器负责工作的特定计算和分配,IPAM模块管理网络地址。每个计算节点部署Cableagent,通过RestAPI监听ControlNode资源,如监听以换取资源,使得调用vrouter.ko的相应请求(添加/删除/修改网络信息)。兼容Openstack
电缆必须考虑它与现有虚拟网络结构的兼容性,使Neutron能够无缝过渡到新的架构。因此,在保持原始Neutron接口不变的基础上,用etcd替换Neutron数据库,用统一的有线代理替换DHCP代理,元数据代理和l3代理。在用Cable替换Neutron后,OpenStack和RestfulAPI的相关命令行没有改变,允许无缝切换,易于管理操作和维护。
上海IT外包服务网 链接:http://www.linemore.com