数据中心如何实现传统网络与容器网络的架构共存

网友投稿 318 2022-10-18


数据中心如何实现传统网络与容器网络的架构共存

一、概述随着数据中心网络技术的革新,并伴随容器的落地,如何在数据中心内部构建一个合理可用的网络架构,以满足不同形态的业务部署模式,成为网络从业人员越来越需要注重和考虑的方向。

二、业务背景针对互联网数据中心,通常会越来越多的看到容器(k8s)作为业务/服务的载体,各业务/服务间(pod间)彼此调用,形成容器集群内的微观网络以及容器网络与外部网络的交互网络。以下从pod间调用、容器网络选型、容器网络架构、网络隔离几个方面进行阐述。

三、pod间调用

四、容器网络选型容器网络选型通常参照以下几点:

业务实现方式; 网络资源调配; 网络扩展及灵活性; 对底层物理网络的依赖度; 网络资源的收放要求;

开源容器网络组件按照网络覆盖类型大致可分为:overlay和underlay,underlay相比overlay在传输效率、部署实现及维护等方面更有优势(详细的各种容器网络组件横向比较,可自行查询学习,此处不详细展开)。以calico为例,作为underlay的容器网络解决方案,依靠动态路由协议bgp实现网络互通,并通过原生的network policy解决容器间网络隔离。calico介绍:

felix: calico agent,运行在每个node节点上,负责配置各节点路由及 ACL信息来确保每个pod的连通状态; etcd: 分布式键值存储,负责保存所有node节点的网络状态信息,如:路有前缀信息、分发node节点信息、路径属性信息等; bird: 负责把路由信息分发到当前calico网络,确保node间通信的有效性; 简单理解,calico可视作运行在node节点上的一个只有bgp功能的路由器(详细的calico介绍,可参见calico官网:https://projectcalico.org) calico支持e/ibgp邻接关系,支持next-hop-self/next-hop-unchanged,建议优化bgp timer,开启graceful restart功能;注:在外部网络的架构上,我们以当前数据中心流行的clos架构为讨论前提,笔者所在的数据中心底层网络为“3-stage”clos架构,且tor-leaf-spine之间为ebgp关系,并多链路负载均衡。

五、容器网络架构calico建议组网架构如下图:

上述两种组网架构,结合实际业务场景进行选择,但无论哪种结构,均需要做好网络资源的科学合理规划,包括但不限于:

IP地址 BGP邻接关系选择 ASN规划 路由收放策略 容器网络与底层网络的隔离需求 横向扩展

备注:BGP在数据中心的设计与规划,有别于运营商,重在通过好的设计缩短网络故障时的“爆炸半径”,笔者这里推荐CUMULUS首席技术专家的一本COOKBOOK-「BGP in the Data Center」

六、网络隔离环境隔离,例如:生产环境和测试环境隔离,这里需要考虑:

以node为环境最小粒度——隔离策略部署在外部网络,可通过ACLs、VRF、Vxlan等; 以pod为环境最小粒度——通过calico原生的network policy进行隔离;

七、总结当前数据中心随着虚拟化/容器等技术的引进,对网络结构提出更高、更精细的规划需求,底层网络的技术选取、架构模型将更多的影响虚拟/容器网络的落地成本、实施难易度,因此需要网络规划者要在前期介入时,了解业务发展方向、技术发展方向及成本、灵活性等因素。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Cookie 实现的原理
下一篇:基于大数据营销的全量数据采集预处理方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~