国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > Docker和Kubernetes或将加速SDN发展

Docker和Kubernetes或将加速SDN发展

来源:程序员人生   发布时间:2014-09-18 11:39:29 阅读次数:2414次

Docker以及它的容器概念快速改变着人们在云计算环境下构建应用程序的方法。这些改变也对网络产生了影响,容器似乎可能会利用软件定义网络的功能。

这是因为,容器使开发者重新思考他们使用计算机能力的方法――新方法需要更高级别的网络抽象技术。这点可以从谷歌的Kubernetes项目上看出端倪,这个项目已经在2014年6月份开源,它可以使用一个代理技巧(可以归类为SDN)。

“在我看来,网络、存储和安全将进一步的更加接近一个Docker容器,而非一个单独的应用”,Docker公司的CEO Ben Golub说。逐步的,例如负载均衡或桥接之类的任务将使用容器到容器(container-to-container)的方式完成,而并非机器到机器的(machine-to-machine)方式。


容器变得很酷

2013年3月正式推出,Docker定义了一个能容纳应用程序(包括其依赖关系:诸如二进制和库)的容器,这个容器可以存在于任何物理的或者虚拟的Linux服务器中。其实,在Docker出现前,类似于Google的公司就已经在使用容器技术了,但Docker公司的出现,使容器标准化和更容易使用了。

Golub用一个比喻形象地说明了这个问题:在Docker之前,有很多钢制的箱子,但是大小刚好合适,并且在合适的地方有挂钩的箱子才是Docker。

复杂的应用可以在多个容器间“蔓延”,但是要保证这些容器间能够互相通信,又产生了另一个技术上的创新:开源的Docker容器管理和编排技术。Kubernetes和Mesos就是其中的代表,Docker也开发了自己的版本Libswarm,并且提供了一个通用的接口。

实际上,Docker正在尝试用Libchan统一这些解决方案,Libchan是一个build复杂网络服务的库,Golub说:“我们正在尝试提供通用而又不过于死板的接口”。

Open vSwitch和OpenFlow阵营中的人们也已经开始致力于网络化Docker的工作,Golub说。理想情况下,一个容器能定义它在网络中所需要的,它使用的端口,和需要通信的其它容器。

通过代理为应用程序提供服务(Serving Apps by Proxy)

Kubernete有一个特殊的与SDN非常类似的网络化概念:一个服务代理,它创建一个IP地址,这个IP地址可以分配给(fan out)任意数目的容器。

6月份开源,Kubernetes是Borg的一个开源派生。Borg是一个Google工具,它让开发者可以从大量的分散的数据中心来池化计算能力。Kubernetes获得了一些重量级的支持:CoreOS,Docker,IBM,Mesosphere,Microsoft,Red Hat和SaltStack。

Brendan Burns说,服务代理的想法是网络抽象技术的一个转折。Google两位工程师开启了Kubernetes项目,Brendan Burns是其中之一。

Kubernetes使用了一种代理方法,通过一个特殊的服务(被定义为一个跨容器的查询)――获得自己的IP地址。在这个地址后面可能是一大堆提供相同服务的容器。但是,在前端,应用程序或使用该服务的用户仅通过这一IP地址调用服务。

这就意味着,运行一个服务的容器数量,可以根据需要增加或缩减,而客户或使用该服务的应用程序不需要关心这些细节。可以想象,如果服务是一个移动网络后端进程,当流量激增时,大量容器将被加入到这个服务中,一旦流量恢复正常,则删除多余的容器。发现特定容器运行的服务,和这些容器之间的负载均衡,将在后台进行。如果没有这个代理服务,你可以添加更多的容器,但是,你不得不告诉用户和应用程序这些细节。Google的方法消除了这个配置需求。

Burns认为:”从某种意义上说,这种代理方法,可以代理任何给定的服务(in the Kubernetes sense),这些服务可以来自于它自身的网络。“

这种代理方案有点SDN的味道,尽管,它不是构建在典型的与SDN有关的第2-3层机制。“这是我们写的一个二进制。它未使用OVS或者任何与OVS类似的东东”,Burns说,“但是,我们预想,当SDN变得更加普遍时,它(我们写的一个二进制)将被SDN技术取代”。

转载链接:Docker和Kubernetes可能称为SDN的催化剂

原文链接:Docker & Kubernetes Could Be Catalysts for SDN(责编:周小璐)

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生