SDN网络与容器云网络对接中遇到的难点

背景介绍:
2020年SDN网络区域建设项目落地,开年碰到的第一个业务就是与容器云网络的对接。
1、容器云厂商标准方案中采用自研网络插件;
   calico插件同样支持,不推荐使用
2、SDN支持calico,SDN厂商自研CNI插件和其他标准的CNI插件
方案讨论:
1、容器云使用calico插件,SDN网络可以管理到容器云内部网络
2、容器云采用SDN厂商自研CNI插件,开发成本较大
3、采用容器云自研插件,SDN网络进行调整,开发成本较大
4、不感知容器云内部网络,只做三层网络的可达,缺点是双层vxlan标签
问题讨论:
最终讨论结果为方案4,还想请教大家,是否还有其他的思路。

参与21

5同行回答

张振华张振华软件架构设计师博云
SDN和容器云在数据中心出现的越来越多了,而且都属于基础设施层面,因此两者的融合就成了很自然的话题。说到融合,至少包含以下几个方面吧,大家也可以再补充。网络/ip等基本元素的管理,首先收拢统一管理,管理员可以在一个平台看到全网。这里牵扯到Underlay/overlay,通信协议等的选...显示全部

SDN和容器云在数据中心出现的越来越多了,而且都属于基础设施层面,因此两者的融合就成了很自然的话题。说到融合,至少包含以下几个方面吧,大家也可以再补充。

  • 网络/ip等基本元素的管理,首先收拢统一管理,管理员可以在一个平台看到全网。这里牵扯到Underlay/overlay,通信协议等的选择。
  • 统一策略管理。传统网络里大量的策略管理,但基于K8S平台下,都是networkpolicy,两者需要进行整合。统一开通或关闭,进行联动。容器云上业务上下线、扩容频繁,能打通的地方要打通,增加基础设施和业务的敏捷性。
  • 统一监控。容器云网络也是基础网络的一部分,需要进行监控和管理。SND有自己的网络视角,可以理解部分协议,例如vlan、vxlan等,从而监控到容器网络。同时CNI也往往有特有的监控视角,比如其内部的种种metrics,这些也可以整合到一起。
  • 统一运维工具。不能说因为引入了容器云,就导致容器网络的运维复杂度大大增加,甚至不可控。

    另外,结合企业现状,进行合理的选择,毕竟合适自己的才是最好的。比如BGP,机房里能否开启BGP?有没有相关人员?容器云多个集群就有多个/16的大CIDR(/16在容器云里是通常的一个选择),放开BGP后安全部门如何看待这些海量的IP地址?还是说这些地址就不能出集群?再比如vxlan,vxlan现在用的比较多,性能有一定损耗,能否结合offload进行性能优化?再比如vlan(underlay了),能否为容器云规划出对应的网络?容器云未来的规模是怎么样的?都需要进行考虑。

    供参考。

收起
互联网服务 · 2021-03-04
浏览2619
siguadantangsiguadantang技术经理苏宁银行
简单扩展下:容器技术逐渐普及,以K8S为主要编排器技术的容器生态逐渐建立,但每个企业都在实际落地的过程中都会多多少少碰到“痛点”。主要体现在如下两方面:1. 存储,本地存储对一些有共享场景的业务缺乏灵活性;分布式存储,开源的带来运维成本和投入的增加;商用的,要考虑成本;2. ...显示全部

简单扩展下:
容器技术逐渐普及,以K8S为主要编排器技术的容器生态逐渐建立,但每个企业都在实际落地的过程中都会多多少少碰到“痛点”。主要体现在如下两方面:
1. 存储,本地存储对一些有共享场景的业务缺乏灵活性;分布式存储,开源的带来运维成本和投入的增加;商用的,要考虑成本;
2. 网络:是非常重要的拼图。无论是否是容器生态,网络都像人身体的血管一样,是整个IT的软支架;

针对问题个人见解:
在容器云上试用的网络技术主要分为两类:overlay网络和underlay网络。
在开源社区比较活跃的经验分享有:flannel,calico;
* flannel是overlay网络,简单,易用,支持vxlan和host-gw模式。但缺点也比较明显性能不佳,如果要打通与存量服务的访问,需要存量服务的虚机部署组件,且对内核版本有要求。
* calico相对功能比较强大,是纯三层的容器网络通信解决方案,通过ipip模式实现overlay网络。但部署相对复杂,稳定性,安全性,可靠性,在很多金融行业很难取得信任,也可以说还没有能提供让这个行业取得信任的“标杆”。大多还是基于macvlan等方案;

有一种比较不错的方案:bridge-vlan,通过将容器网络平面和计算节点的网络平面打平,通过在交换机上为容器网络也规划vlan的方式,在计算节点上部署双网卡来实现:一个网卡用户k8s管理,一个网卡用于走数据访问流量。

如上信息供参考

收起
银行 · 2021-03-11
浏览2288
johnclarksonjohnclarkson架构师青云
多层vxlan 效率比较低且运维软件默认不认识这包,需要定制。最佳的方案让你的数据中心运行BGP.容器选择BGP能力的calico . kuberouter 等等都可以之所以这么做,理由是BGP是网络通用协议,直接三层直达,无缝对接各种网络,比如典型的MPLS VPN.首先BGP稳定性和灵活性如何,这个不需要...显示全部

多层vxlan 效率比较低且运维软件默认不认识这包,需要定制。

最佳的方案

让你的数据中心运行BGP.

容器选择BGP能力的calico . kuberouter 等等都可以

之所以这么做,理由是BGP是网络通用协议,直接三层直达,无缝对接各种网络,比如典型的MPLS VPN.

首先BGP稳定性和灵活性如何,这个不需要担心,因为没有BGP就没有互联网,所以BGP基本上是网络世界中的核心协议,对于大部分客户来说BGP会非常陌生,不过,看近几年行业的变革与推动,BGP逐渐进入大众视野,举个例子

BGP EVPN vxlan

kubernetes calico.

物理盒子厂家SDN与外部对接 BGP (Cisco ACI DNAC)

所以尽早拥抱BGP是绝对正确的选择,而非openflow阵营 因为局限性和不兼容,至少 大部分的网络设备不认识openflow. 你不会听到和运营商对接用openflow的,因为压根不支持。所以openflow这个产物要理解一件事,首先小型集群用这个问题不大,你自己玩。不过你出来必须是通用协议,并且虽然说openflow开源,不过越来越多的公司介入造成 根本不兼容 对方的openflow base payload,所以从SDN出来抱着ovs openflow就是很蠢的选择,玩好BGP才是现在的方向,给你个理由。

Google microsoft. 跑BGP.

openflow这套东西呢,试过点,性能完全不合格

so你知道如何选择了。

收起
互联网服务 · 2021-03-04
浏览2606
albertmingalbertming网络民生银行
我推荐也是方案4,但是使用underlay网络模型不会出现双层vxlan标签,你提到的calico网络模型bgp full mesh模式就是underlay的网络,容器pod出入访都是真实ip不会进行vxlan封装和nat,同样的网络模型还有fannel host-gw类似。...显示全部

我推荐也是方案4,但是使用underlay网络模型不会出现双层vxlan标签,你提到的calico网络模型bgp full mesh模式就是underlay的网络,容器pod出入访都是真实ip不会进行vxlan封装和nat,同样的网络模型还有fannel host-gw类似。

收起
银行 · 2021-03-11
浏览2249
jiachaojiachao网络工程师银行
华为的SDN设备吗?CNI是华为的容器网络插件&CE1800V,我记得去年沟通的时候,华为自己的CNI组件还不是特别成熟不过容器厂商不推荐Calico,不清楚什么原因。前两年Calico还很流行的,我们使用过程中暂时没有发现比较大的bug。但是Calico不支持流量镜像之类的一些功能,后来容器厂...显示全部

华为的SDN设备吗?CNI是华为的容器网络插件&CE1800V,我记得去年沟通的时候,华为自己的CNI组件还不是特别成熟
不过容器厂商不推荐Calico,不清楚什么原因。前两年Calico还很流行的,我们使用过程中暂时没有发现比较大的bug。但是Calico不支持流量镜像之类的一些功能,后来容器厂商自己搞了一套CNI,目前在推广自己的CNI

收起
银行 · 2021-03-05
浏览2338

提问者

efbank
网路运维昆仑银行
擅长领域: 网络服务器数据中心

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2021-03-04
  • 关注会员:6 人
  • 问题浏览:6089
  • 最近回答:2021-03-11
  • X社区推广