树袋熊|十分钟漫谈容器网络方案01—Flannel( 三 )


— 基于星环TCOS的Flannel性能测试 —目前UDP模式由于其性能问题已基本被弃用 , 因此对于三层物理网络首选VXLAN模式 , 而二层网络VXLAN和host-gw均可选用 。 为了测试VXLAN和host-gw在二层网络下性能 , 我们在实验子网内对两种模式进行了性能对比 , 以便更好的根据场景选择模式 。 我们从带宽和转发吞吐量两个方面考察性能 , 选择了IPerf和netperf两种网络性能测试工具 。
树袋熊|十分钟漫谈容器网络方案01—Flannel两种模式在不同TCP window大小下的传输速率比较
树袋熊|十分钟漫谈容器网络方案01—Flannel两种模式不同数据负载下的吞吐量比较
根据上面两张测试数据可以得出:1、在TCP数据接收窗口相同的情况下 , host-gw平均传输速度更快 , 比VXLAN快约20% , 实验环境下最终趋于相近的速率;2、host-gw的平均吞吐量较VXLAN模式高出约5% 。 由此可见 , 对于小规模集群、二层网络下的通信 , 可以优先选择host-gw;而大规模集群、三层网络下的通信更适合走VXLAN模式 。
和市场上很多云服务商一样 , 星环TCOS云操作系统的容器网络方案也兼容了Flannel 。 TCOS默认使用VXLAN模式 , 以满足复杂网络场景如跨子网通信、异地数据中心互联等 , 更加适合私有云部署的复杂场景 。 另外 , TCOS也保留了host-gw模式 , 为小规模企业的扁平化网络提供通信方案 , 或者网络拓扑较简单的公有云环境下使用 。
TCOS还对Flannel进行了二次开发 , 在自行维护了多网络和网络防火墙功能的同时 , 引入Flannel并不具备的Network Policy , 以对Pod、Service和 NameSpace进行精细化的防火墙管理 。 在TCOS网络方案下 , 不同租户可以根据需要创建网络 , 彼此之间互不影响 , 满足了多租户网络管理隔离 。
— Flannel出现后网络编排方案的发展 —Flannel作为最早的跨网络通信解决方案 , 提供了自动化简单的策略 , 可以满足一般情况下的跨节点容器通信 。 市场上的云服务商如CDK Global、Ranchor、Platform9等都选择在支持其他方案的基础上保留了Flannel , 足以见其在容器网络通信的适用性 。 作为容器网络解决方案的先驱者 , Flannel和其他企业级开源解决方案如Calico、Weave等一同驱动了网络方案发展 。
然而 , 虽然Flannel是最早为Kubernetes集群设计的自动化网络方案 , 但其功能并不完善 , 如不支持Kubernetes的Network Policy , 对于有容器隔离需求的业务有着很大局限性 。 基于Flannel存在的问题和缺陷 , 也衍生出一批支持Network Policy、具备负载均衡功能等改良集群网络方案 。 这些方案从某种意义上来说可以被看做是Fannel的改进版 , 为Kubernetes的容器集群网络通信提供了更多的选择 , 网络编排方案开始进入百花争鸣的时代 。
【点击下方链接阅读微信原文>>>快快关注“星环科技”微信公众号>>>更多内容资讯等你来看>>>还有不定时福利放送哦!】