当前位置:云计算企业动态 → 正文

技术特刊 | 一个SDNer眼中的Docker

责任编辑:yliang |来源:企业网D1Net  2017-05-16 15:52:49 本文摘自:懂企业的品高云

技术特刊主要刊载品高云诸多技术大咖的技术干货与技术观点,与大家一起交流学习云知识。欢迎小伙伴们在留言区提出你们的问题与看法,和技术大咖进行互动!

今天与大家分享知识与观点的大咖是品高云云架构产品部的工程师——林冬艺

大咖介绍

林冬艺

从SDN概念诞生来一直在关注和研究,目前在BingoCloud SDN云网络团队任职,主要负责云网络、云网络安全、NFV、高性能云网络等的架构与设计。目前,BingoCloudOS产品的SDN相关功能主要来自林冬艺所在团队 。

在不少的交流中,我常常被问起一个问题:“你们的SDN云网络怎么支持Docker?”近几年Docker的轻量化,快速部署的优势,得到了很多企业用户的青睐。甚至有不少人,会拿容器技术与传统的虚拟化进行多维度的PK,当然这样的PK是没有结果的。技术活干久了,很明白一个道理,没有一个技术能解决所有的问题。

Docker的发展对云计算确实带来不少冲击,前不久的时速云,Daocloud,蜂巢云等存容器技术云更是火红一时。但是Docker自身的底层架构未完善,导致发展存在很多瓶颈。我们一直以来的观点是不应该把虚拟化与容器放在对立面看待。云计算IaaS层有足够的能力给Docker提供很好的支撑,Docker应该更多地考虑如何发挥自身的轻和快的优势,底层网络问题应该交给云平台处理。这是我们面对Docker技术或容器技术该有的态度:“拥抱取暖,整合创新”

我们需要给Docker一个位置,在云计算这样一个层次化非常清晰的架构体系中,Docker或容器应该放在什么位置?

如下图所示:

图中,橙色部分就是容器在云中的位置。我们先看第一个,容器和虚拟化兼容平衡,容器和虚拟机一样可以使用云平台提供的计算,存储,网络资源。这样的方案在很多项目中,被用于广泛接受。实际项目中,用户考虑的情况绝对不是单一需求的。比方说用户的大数据业务需要高性能资源,同时需要一些轻量级的应用服务等。容器化的性能基本接近物理机性能,我们认为大数据的业务,可以放在容器中运行。此外一些轻量级的应用服务,他们的刚性需求是高可用、灵活迁移,性能需求低。这样的业务放在kvm虚拟化中运行更为合适。SDN云网络负责支撑两者的网络业务。这样的方案,完全发挥的虚拟化与容器技术的优点。

说到这里,应该很多人会说Docker呢?Docker in VM是一个大课题。Docker集群运行在VMs上,Docker就需要自管网络。Docker的网络难题也由此而生。前段时间,我们在腾讯黑石云平台上部署我们自己云,那一段时间,我深深明白Docker网络的痛苦。云平台的网络是存在很多限制了,如Port-mac绑定,mac-ip绑定,ARP代理等。目前纵观所有的Docker的网络解决方案中,只有Overly类型的网络能在云上正常使用。Overly的性能消耗是不可忽视的,此外Overlay的传输数据是无法被云平台的安全设备监控的。这样确实带来不少问题。但不可否认的是,即使存在潜在问题,Docker in VM依然受到广泛的关注与认同。云平台提供的ECS服务占了很大一部分功劳。ECS服务让Docker的集群生命周期管理变得非常简单。ECR弹性容器镜像仓库实现不同租户有不同的镜像库使用权限,在私有云场景中,非常适合。

我先来总结一下Docker in VM的存在的问题:

1. Docker集群的Overlay网络消耗大,路由的网络云网络限制。

2. Docker集群的Overlay网络通讯安全设备难以识别。

3. Docker集群的网络缺乏监控手段。

4. Docker in VM经过一层虚拟化之后,丧失了Docker本身高效的特性。

我们一步一步来,先看网络问题。我们做一个大胆的假设,如果SDN云网络能管理Docker in VM网络那就是基本可以摆脱Overlay的问题。SDN需要把手伸进Docker in VM。这时候的想法很清晰了,我们SDN云网络提供弹性虚拟化网卡的能力,一台VM可以绑定多个vNIC。我们把vNic直接塞给Docker in VM。如下图:

看到这个图,我相信大家一定很兴奋,包括我自己。这就是Docker in VM结合云网络的方式。Docker可以使用云网络提供的安全组,VPC,Gateway、Route、ACL、Vpcpeering等网络功能,并且是Underlay网络,安全设备可以监控Docker in VM的流量。可以使用与VM不同的VPC,实现业务管理分离。Docker in VM无需自管网络了。云平台可以单独针对Docker in VM做流量监控。很庆幸的是,品高云最新版本已经支持vNic passthrough for Docker in VM。

还有最后一个问题,Docker in VM的性能损耗。经过一层虚拟化之后,Docker in VM的发挥不出Docker高效的特性。我们回想一下Docker为什么要in VM?因为ECS服务,通过VM创建Docker集群。在上文中我们提到过在品高云中,容器与VM是平等关系。最初设计的架构,其实我们已经支持Docker in CM。结合vNic passthrough for Docker in CM的能力,ECS服务的性能问题能够得到很好的解决。

云计算应该持有足够开放的态度,还是那句话“拥抱取暖,整合创新”。Docker 绝对不是颠覆云计算的技术。我们也不应该把Docker放在我们的对立面。大家可以看到,品高云提供的VM/CM平等化、vNic passthrough for Docker 以及 Docker in CM的功能,他们本身的设计是与本身云计算的架构没有任何冲突性,都是沿用IaaS层基础能力。将能力开放出去,这是云计算多年来最擅长的技能。

了解更多品高云信息,敬请扫码添加品高云微信客服小表妹,我们将为您提供贴心到位的企业上云顾问服务。

  
 

关键字:DockerSDNer

本文摘自:懂企业的品高云

x 技术特刊 | 一个SDNer眼中的Docker 扫一扫
分享本文到朋友圈
当前位置:云计算企业动态 → 正文

技术特刊 | 一个SDNer眼中的Docker

责任编辑:yliang |来源:企业网D1Net  2017-05-16 15:52:49 本文摘自:懂企业的品高云

技术特刊主要刊载品高云诸多技术大咖的技术干货与技术观点,与大家一起交流学习云知识。欢迎小伙伴们在留言区提出你们的问题与看法,和技术大咖进行互动!

今天与大家分享知识与观点的大咖是品高云云架构产品部的工程师——林冬艺

大咖介绍

林冬艺

从SDN概念诞生来一直在关注和研究,目前在BingoCloud SDN云网络团队任职,主要负责云网络、云网络安全、NFV、高性能云网络等的架构与设计。目前,BingoCloudOS产品的SDN相关功能主要来自林冬艺所在团队 。

在不少的交流中,我常常被问起一个问题:“你们的SDN云网络怎么支持Docker?”近几年Docker的轻量化,快速部署的优势,得到了很多企业用户的青睐。甚至有不少人,会拿容器技术与传统的虚拟化进行多维度的PK,当然这样的PK是没有结果的。技术活干久了,很明白一个道理,没有一个技术能解决所有的问题。

Docker的发展对云计算确实带来不少冲击,前不久的时速云,Daocloud,蜂巢云等存容器技术云更是火红一时。但是Docker自身的底层架构未完善,导致发展存在很多瓶颈。我们一直以来的观点是不应该把虚拟化与容器放在对立面看待。云计算IaaS层有足够的能力给Docker提供很好的支撑,Docker应该更多地考虑如何发挥自身的轻和快的优势,底层网络问题应该交给云平台处理。这是我们面对Docker技术或容器技术该有的态度:“拥抱取暖,整合创新”

我们需要给Docker一个位置,在云计算这样一个层次化非常清晰的架构体系中,Docker或容器应该放在什么位置?

如下图所示:

图中,橙色部分就是容器在云中的位置。我们先看第一个,容器和虚拟化兼容平衡,容器和虚拟机一样可以使用云平台提供的计算,存储,网络资源。这样的方案在很多项目中,被用于广泛接受。实际项目中,用户考虑的情况绝对不是单一需求的。比方说用户的大数据业务需要高性能资源,同时需要一些轻量级的应用服务等。容器化的性能基本接近物理机性能,我们认为大数据的业务,可以放在容器中运行。此外一些轻量级的应用服务,他们的刚性需求是高可用、灵活迁移,性能需求低。这样的业务放在kvm虚拟化中运行更为合适。SDN云网络负责支撑两者的网络业务。这样的方案,完全发挥的虚拟化与容器技术的优点。

说到这里,应该很多人会说Docker呢?Docker in VM是一个大课题。Docker集群运行在VMs上,Docker就需要自管网络。Docker的网络难题也由此而生。前段时间,我们在腾讯黑石云平台上部署我们自己云,那一段时间,我深深明白Docker网络的痛苦。云平台的网络是存在很多限制了,如Port-mac绑定,mac-ip绑定,ARP代理等。目前纵观所有的Docker的网络解决方案中,只有Overly类型的网络能在云上正常使用。Overly的性能消耗是不可忽视的,此外Overlay的传输数据是无法被云平台的安全设备监控的。这样确实带来不少问题。但不可否认的是,即使存在潜在问题,Docker in VM依然受到广泛的关注与认同。云平台提供的ECS服务占了很大一部分功劳。ECS服务让Docker的集群生命周期管理变得非常简单。ECR弹性容器镜像仓库实现不同租户有不同的镜像库使用权限,在私有云场景中,非常适合。

我先来总结一下Docker in VM的存在的问题:

1. Docker集群的Overlay网络消耗大,路由的网络云网络限制。

2. Docker集群的Overlay网络通讯安全设备难以识别。

3. Docker集群的网络缺乏监控手段。

4. Docker in VM经过一层虚拟化之后,丧失了Docker本身高效的特性。

我们一步一步来,先看网络问题。我们做一个大胆的假设,如果SDN云网络能管理Docker in VM网络那就是基本可以摆脱Overlay的问题。SDN需要把手伸进Docker in VM。这时候的想法很清晰了,我们SDN云网络提供弹性虚拟化网卡的能力,一台VM可以绑定多个vNIC。我们把vNic直接塞给Docker in VM。如下图:

看到这个图,我相信大家一定很兴奋,包括我自己。这就是Docker in VM结合云网络的方式。Docker可以使用云网络提供的安全组,VPC,Gateway、Route、ACL、Vpcpeering等网络功能,并且是Underlay网络,安全设备可以监控Docker in VM的流量。可以使用与VM不同的VPC,实现业务管理分离。Docker in VM无需自管网络了。云平台可以单独针对Docker in VM做流量监控。很庆幸的是,品高云最新版本已经支持vNic passthrough for Docker in VM。

还有最后一个问题,Docker in VM的性能损耗。经过一层虚拟化之后,Docker in VM的发挥不出Docker高效的特性。我们回想一下Docker为什么要in VM?因为ECS服务,通过VM创建Docker集群。在上文中我们提到过在品高云中,容器与VM是平等关系。最初设计的架构,其实我们已经支持Docker in CM。结合vNic passthrough for Docker in CM的能力,ECS服务的性能问题能够得到很好的解决。

云计算应该持有足够开放的态度,还是那句话“拥抱取暖,整合创新”。Docker 绝对不是颠覆云计算的技术。我们也不应该把Docker放在我们的对立面。大家可以看到,品高云提供的VM/CM平等化、vNic passthrough for Docker 以及 Docker in CM的功能,他们本身的设计是与本身云计算的架构没有任何冲突性,都是沿用IaaS层基础能力。将能力开放出去,这是云计算多年来最擅长的技能。

了解更多品高云信息,敬请扫码添加品高云微信客服小表妹,我们将为您提供贴心到位的企业上云顾问服务。

  
 

关键字:DockerSDNer

本文摘自:懂企业的品高云

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^