为满足成本、按需、隐私、合规、避免供应商锁定等目的,国内企业上云过程中往往使用包括公有云在内的多种云平台。RightScale 2019年的报告显示,有84%的受访企业采用了多云战略。越来越多的企业开始采用容器、微服务、DevOps等技术提升业务的敏捷性和弹性。Gartner预测,到2022年将有超过75%的全球组织机构会部署容器化的生产业务应用。由于大部分企业的IT 基础设施经过了长期的发展和规划,企业IT的现状是在相当长的时期内新建云资源池将与传统IT环境共存,多云并存的局面给管理平面、网络平面以及数据平面的管理带来了更高的复杂度,其中云网协同成为混合云的关键能力。
2. 云杉网络NCI方案
针对企业越来越多采用容器的场景,北京云杉世纪网络科技有限公司(以下简称:云杉网络)旗下的NSP(Network Services Platform)DCN产品大幅优化了容器网络方案NCI(NSP Container Infrastructure),通过插件的形式为基于Kubernetes的容器云平台提供了统一的网络编排和服务管理解决方案,实现了对Kubernetes的PoD网络、东西向和南北向服务网络的统一纳管,同时支持Kubernetes资源池的弹性扩容和跨资源池互联,并满足高性能网络。
3. NCI方案组件
NCI方案组件的构成主要包括DCN产品中的容器插件和相关的控制器模块。
基于Kubernetes的插件
NCI中包含的Kubernetes插件是NSP-DCN产品中适配容器资源池的功能部分。通过Kubernetes插件,DCN控制器完成了对现网中容器网络的对接、实现了对容器网络的基本管理。
DCN控制器中的NCI模块
NCI的组件包含了运行在Kubernetes Node上的NCI-Controller和NCI-OpenvSwitch模块,运行在Kubernetes Master上的NCI-Supervisor模块,以及运行在DCN控制器上的NCI-Provider模块。
各模块主要功能如下:
1.NCI-Controller实现了CNI,负责响应PoD以及服务的增删改,并执行相应的组网和服务配置;
2.NCI-OpenvSwitch负责运行OvS(OpenvSwitch)网桥,组网和服务配置通过下发给NCI-OpenvSwitch的接口和流表配置来实现;
3.NCI-Supervisor负责资源(namespaces、subnets、ips、node-subnets等)的管理,一方面对NCI-Controller申请的资源执行分配,一方面向NCI-Provider同步资源信息;
4.NCI-Provider则负责根据NCI-Supervisor同步过来的信息去配置Kubernetes Node所上联的Leaf交换机,完成Kubernetes资源池内部的整体组网配置。
4. NCI方案优势
与数据中心网络联动
NCI方案中PoD的组网逻辑主要基于硬件Leaf交换机上的LS(Logical Switch)和LR(Logical Router)来实现,面向跨资源池(异构)互联场景时,NCI方案采用Multi-Fabric架构组网,通过部署在Region中的Service Leaf(虚拟路由)为容器资源池与Region内部相同资源池、Region内部异构资源池、Region之间异构资源池以及多中心提供统一互联的二层、三层虚拟网络,从而实现容器资源池与整个数据中心网络的联动。
简化容器网络的使用
NCI(控制器模块)通过对接和纳管上联设备,将多层级的容器网络抽象为双层设计,解耦并重构了容器资源和网络的复杂访问逻辑。NCI基于Subnet来为PoD分配地址,以满足业务组网编排时层次化的地址划分需求。基于Subnet来分配IP地址大幅简化了策略的配置管理。
基于VPC的业务隔离
在NCI的设计实现中,一个VPC对应Kubernetes集群中的一个Namespace;同一Namespace中的PoD通过组网编排,最终可以对外提供完整的业务,多个业务则对应由多个Namespace提供。NCI在Kubernetes资源池中引入VPC的实现,为企业运营提供了一致的资源粒度,使得容器网络能够被SDN控制器统一管理和编排。
5. 总结
云杉网络NCI容器方案采用双层网络的设计、通过控制器和插件的方式简化容器网络的配置、编排和管理,满足企业容器资源池的按需弹性扩容和一致性的服务访问,兼顾了混合云网络的性能与灵活性。在编排层面向多中心、多资源池统一管控,为企业上云提供了自服务的混合云网络,满足了云数据中心网络安全高效的要求,增强了企业云数据中心的延展性和应用的灵活部署与调度能力。