设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

5个发展中的Docker技术

2014-11-22 10:05| 发布者: joejoe0332| 查看: 1751| 评论: 0|原作者: douxingxiang|来自: oschina

摘要: 自从大约18个月前Docker发布后,此领域的新技术已呈井喷之态。尽管下面的列表很长,我在此还是要简述下5项Docker相关、并且不断发展的技术,这些技术正在推进云技术的发展方向。 ...

  自从大约18个月前Docker发布后,此领域的新技术已呈井喷之态。尽管下面的列表很长,我在此还是要简述下5项Docker相关、并且不断发展的技术,这些技术正在推进云技术的发展方向。


1) Kubernetes

  今夏在 Dockercon 上,Google的基础设施VP Eric Brewer,在谷歌发布了 Kubernetes。Kubernets提供了一种方式来组织机器集群上的Docker容器集。 本质上,它是个调度器,在即使有机器崩溃,也能保证容器的持续运行。


  我们看到了Kubernets正被迅速采用,并吸引了很多人的兴趣,这些都超越了Kubernets仅仅是Google的Docker相关云技术这个传 闻。我们需要对运营层次(Operations level)上做组织,而Kubernets恰好处理得很好。Kubernets可以创建描述Docker镜像集的配置清单(manifest),并把配 置清单放到集群中。这样配置清单可以自动部署、水平伸缩这些容器。Kubernets同时提供了一种定义”service“的方式,service可以被 运行在集群上的其他应用使用。


2) Docker Pods

  除了Kubernetes,Eric Brewer还谈了容器并引入了"pods"这一概念。pods是Kubernetes的一个核心概念。他说,”在Google我们很少只部署单个容器“。相反,他们把容器组合在一起。例如,一个应用进程通常还包含多个辅助进程,比如logging,还有应用本身不关心的其他任务。


  他同时指出Docker容器还需要解决内部及外部端口的映射,即Docker容器内部进程可见 的与外部可见的映射。这就多出了一层需要被管理、存储和查询的复杂度(complexity),即使被部署为一个单元的pod内部的容器间也存在。因 此,Google给每个pod内的一族容器共享一个IP地址。这意味着容器的内外端口都是相同的。端口可以在设计或者构建时引入。这就免了管理端口这层复 杂度。现在要查找运行某些特定服务(service)的pod,只需要这些pod的IP地址列表就好了。


  Google计算引擎(Google Compute Engine)是目前唯一一个把一个IP子网分配给一个虚拟机的云基础设计服务提供者,因此它的每个Docker pod都有自己的IP。


3) Flannel

  CoreOS,除了积极参与了Kubernetes,还给出了Flannel (之前叫做Rudder)来尝试解决这个端口映射问题。 Flannel在真实的网络之上层叠了一层网络,这层网络会把一个IP子网分配给一台机器。这样做会有很大的性能开销,但是他们希望随着Flannel的发展,这些开销能被改善掉。


4) Docker For Windows

  最近,Microsoft也加入了Docker行列,宣称他们打算为Windows创建一个容器化的解决方案,并提供一组兼容Docker的API。 尽管Linux和Windows容器的Docker镜像不太可能可移植,但意味着在Docker API层之上构建的工具可以在这些操作系统间重用。

  大企业在Windows上进行了大笔投资,所以这个声明对想采用Docker的企业IT部门是个重大胜利。


5) Cloud Foundry Diego

  Cloud Foundry开源PaaS项目是ActiveState的主要焦点。VMware发布Cloud Foundry后,我们是第一个采用者。 当我们的解决方案Stackato在底层采用了Docker后,我们认为源于Diego项目的Docker集成正把此生态系统下的其余部分带上正轨。 

  Diego 像Kubernetes一样,也是个调度器;但是与Kubernetes不同的是,它的运行环境是不确定的,而且它主要与Cloud Foundry一起工作。Docker只是Diego的一个集成,但却是IBM从事Diego的开发者的唯一关注点。我们也看到了Diego的 Windows .NET集成,如来自Uhuru的版本,当Windows的Docker成为现实后,我确信这些技术将会融合。

  Docker 的PaaS集 成对Docker的未来相当重要。我们看到开发者成为Docker出现的主要推动力。开发者描述应用的运行环境的能力愈加强大。另外,每个人都可以选择一 个Docker化的应用,并马上运行起来,认识到这个事实,已经填补了解决方案不存在的空白。 PaaS这个扩展更关注开发者,尽管其他技术正把 Docker从开发者转给运营团队(Operations team)。


结论

  这篇文章只触及Docker生态下大量技术的冰山一角。现在Github上有18265个项目引用了"Docker"这个词。几乎每周都有新方案发布,而现存的技术方案每次迭代都是在或者屈服或者适应新形势。Docker生态本身也是在快速发展。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部