技术漫谈 | 基于Openstack的Rancher扁平网络

Posted Wise2C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术漫谈 | 基于Openstack的Rancher扁平网络相关的知识,希望对你有一定的参考价值。

一、需求提出


多层嵌套的网络方案,一方面浪费了大量计算资源来处理网络流量;同时,又导致一些旧的网络监控设备无法透明的监控网络流量。


1.网络转发效率


从两个方面分别来分析:


  • Rancher的原生网络是使用基于IPSec的overlay VPN技术,由于跨主机的容器之间的流量都需要经过IPSec解封包,因此性能方面有待改善。


  • Openstack的网络性能受到所使用的网络解决方案的影响。如果使用基于SDN的硬件解决方案来offload流量到外部设备做报文的解封包,这样尚且能够忍受内部容器网络的overlay方案。一旦使用普通的openVswitch,使用软件来解封包,浙江浪费很多的CPU资源来处理报文。


2. 流量监控的需求


金融客户大部分都有自己网络监控工具,这些工具一般能够解封常规的报文,较难处理IPSec加密的报文。为了保障网络对于安全监控的透明性,网络内部严禁使用Overlay VPN的解决方案。


因此,如何在基于openstack的IaaS上层运行Rancher管理平台,就成为亟待解决的问题。


二、解决方案

技术漫谈 | 基于Openstack的Rancher扁平网络


要实现容器在openstack网络中的扁平化,也就是需要将运行与虚拟机中的容器的端口放到虚拟的层面。网上有一些现成的方案可以达到这一目的,比如MACVLAN, 或者VLAN Trunk等。但是基于Rancher的Metadata server位于其所在宿主机169.254.169.250的这一特殊性,我们最终选用了Bridge的方式来实现。具体如下图:


技术漫谈 | 基于Openstack的Rancher扁平网络



技术漫谈 | 基于Openstack的Rancher扁平网络



除此之外,在VM内部,为了访问到绑定到docker0上的metadata server,我们创建了veth-pair来连接br-cni0和docker0。但是这样的连接必须在数据链路层做严格的流量控制,除了允许容器网络侧访问169.254.169.250的流量外,其他流量均不允许通行。


三、核心模块介绍

技术漫谈 | 基于Openstack的Rancher扁平网络


整个方案中,最核心的是图上深蓝色的两个组件,均由Wise2C开发。


CNI Plugin 主要包含如下功能


  • 创建br-cni0网桥(首次启动检测到该主机上不存在该网桥时)

  • 建立br-cni0到docker0的连接,并写入ebtable规则,保障只有metadata流量可以通信,其他流量禁止

  • 挂载container-port到br-cni0网桥


Wise2C Neutron Controller主要实现:


  • 启动后从openstack Neutron读取所有port,并过滤出容器端口作为缓存

  • 监听容器port新增和删除的请求

  • 当收到请求或,将请求转化为对openstack Neutron的具体操作,创建/删除port以及更新parent port的“allow address pair”属性


四、效果展示

技术漫谈 | 基于Openstack的Rancher扁平网络


将核心组件都做成Rancher Catalog后如下图所示,主要包含Wise2C Flat Network 和 Wise2C Neutron Controller两个Catalog:


技术漫谈 | 基于Openstack的Rancher扁平网络


Openstack中的flat-net用于VM Management子网,将vlan_subnet用于Container通信的子网:


技术漫谈 | 基于Openstack的Rancher扁平网络


使用OpenStack的虚拟机作为Rancher运行的宿主机:


技术漫谈 | 基于Openstack的Rancher扁平网络


将Rancher环境拉起来后,基础设施应用列表如下图所示:


技术漫谈 | 基于Openstack的Rancher扁平网络



技术漫谈 | 基于Openstack的Rancher扁平网络


技术漫谈 | 基于Openstack的Rancher扁平网络





文末福利

请大家关注【Wise2C】并回复【进群】,睿云小助手会第一时间拉你进入【 Docker企业落地实践群】,我们分享的各个企业案例项目的技术专家与用户代表,正在敬候您的光临,期待大家就项目的更多细节与疑问与群里的大牛们进行咨询探讨。

若需要了解更多有关Wise系列PaaS产品的详情,请与我们的市场团队联系:contact@wise2c.com



成功案例客户

技术漫谈 | 基于Openstack的Rancher扁平网络
技术漫谈 | 基于Openstack的Rancher扁平网络

微信:wise2c

官网:wise2c.com


 

以上是关于技术漫谈 | 基于Openstack的Rancher扁平网络的主要内容,如果未能解决你的问题,请参考以下文章

Opensetack + Kubernates(K8S)黄金搭档漫谈

理论研究漫谈传统IT基础设施01-综述

ranche 中使用 alpine dns 注意事项

Rancher2.6 Monitoring Grafana 对接 LDAP

Rancher2.6 Monitoring Grafana 对接 LDAP

华为云技术分享漫谈LiteOS之开发板-中断(基于GD32450i-EVAL)