分享

Docker发布编排工具包

hochikong 发表于 2015-2-28 10:21:55 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 13537
本帖最后由 pig2 于 2015-2-28 10:31 编辑
【编者的话】Docker在其官方博客中宣布编排工具集第一个版本已经可以下载,但仍不可在生产环境使用。其中Machine与Swarm是Beta版,而Compose发布的是1.1版本。这三个工具请读者重点关注,它们是今年Docker的重头戏。

Docker今天发布了其在12月份欧洲DockerCon上介绍的编排工具包。这三个编排工具旨在保证Docker拥有“100%的移植性”,包括实现混合云架构来运行容器式或分布式应用程序。

当去年在阿姆斯特丹宣布编排工具包时,Docker间接地回应起初社区对此问题的关切。Docker强调的是自由,而开发者不得不控制如何在生产环境中构建、装载与启用多容器、多主机应用程序。

这三个编排工具有:Docker Machine、Docker Swarm与Docker Compose。Machine与Swarm是Beta版,而Compose发布的是1.1版本。

Docker Machine

Docker Machine是一个可以通过一个命令直接安装Docker引擎的工具。Docker公司企业营销副总裁兼系统管理员与运维David Messina说它非常适合用于混合环境中,你再也不用学习一套独立的命令来获取并启用一个Docker容器应用。Messina还说对于Docker Machine,用户可以使用一个统一的命令来减少跨基础设施的成本。目前Beta版本已经有十二个驱动程序,其中包括Amazon EC2、Google Cloud Engine、Digital Ocean与VMware。

虽然现在还无法确认有多少用户会使用Docker来编排混合云架构中的分布式应用,但Messina认为“Machine一定是达成这一愿景的关键的推动者“。

Docker Swarm

Docker Swarm是一个集群和调度工具,它会基于应用程序的生命周期、容器的使用与性能的需求自动优化分布式应用程序的基础架构。

Messina说:“Swarm有多个模型来确定调度,包括了解特定的容器应用有怎样的资源需求,比如计算和内存资源。”处理调度算法时,Swarm将决定哪个引擎和主机应该运行,比如有些情况下,我们应该首先考虑应用之间的关系,而有关系的那些容器可能就需要运行在同一个主机上。

“Swarm的核心内容是,当你使用多主机、分布式应用程序时,你仍想要保持开发的经验而且保证应用的可移植性。Swarm提供了连续性,但你也想拥有的灵活性,例如,对于正在使用的应用程序可以使用特定的集群的解决方案的能力。这确保集群功能一直是可移植的,不管是从笔记本电脑还是到生产环境中。”

保持Swarm灵活性

Swarm为生态圈合作伙伴提供了Swarm API,以支持第三方的编排工具。这是Docker一直提倡的“batteries-included-but-swappable”(译者注:想象一下以前能换手机电池的诺基亚手机:))。有些用户可能愿意使用Docker Swarm以确定多容器分布式应用程序架构的优化集群。其他人会想用Swarm的集聚和调度部分来设置自己的参数,而还有一些人将目光转向生态系统合作伙伴的替代编排优化产品来推荐最佳集群组合。

Apache Mesos(译者注:想要了解Mesos的朋友可以参考这里)的企业赞助商Mesosphere是Docker最初的生态系统合作伙伴,他们使用Swarm API创建了替代的优化产品,期待将来有来自Amazon、Google、Joyent与MS Azure等的可供选择的解决方案。

Mesosphere营销副总裁Matt Trifiro说:“Swarm首次公布后,Mesosphere和Docker就聚集在一起,因为两家公司的工程师立即看到了如何将这两个项目结合在一起。”

在DockerCon EU上,Docker创始人兼CTO Solomon Hykes挑出Mesosphere的技术做为规模化运行容器的黄金标准。(参见YouTube视频35分钟左右)

Trifiro说,对于大规模运行的分布式应用程序,Mesosphere的编排工具,相对于Swarm的“batteries-included”版本,更适合以确定优化的集群及调度业务流程。

他说对于Mesosphere与Swarm一体化有两件事情要强调:
1.Hyperscale(超大规模):对于任何想在高自动化环境中运行容器的大型企业(数百台机器),不管是内部还是云端部署,Mesosphere的技术都是唯一公开可用的容器编排系统,很多运行数百万容器的企业在使用它,像Twitter、Groupon和Netflix,以及在一些最大的消费类电子产品和金融服务公司。
2.Multitenant Diversity of Workloads(工作负载的多租户多元化):如果想在同一个集群上以高弹性的方式运行Docker Swarm应用以及其它应用,那就只能选择Mesosphere的技术。例如,你可以在一台Mesosphere集群上相互运行Cassandra、Kafka、Storm、Hadoop和Docker Swarm应用,他们都共享相同的资源。这样可以更有效地利用集群资源,大大降低了运营成本和复杂性。

Docker Compose

使用Docker Compose工具可以构建在Swarm上运行的多容器应用程序。Compose工具使用YAML文件来维护所有应用程序容器的逻辑定义以及它们之间的连接。使用Compose构建的应用程序可以在不影响其它服务的情况下自动更新。

潜台词:我们可以做的更好

Docker发布Swarm以及Swarm API也消除了12月份社区所猜测的种种疑虑。Docker一直致力于为社区合作伙伴建立一个生态系统经济,他们已经构建了加强DevOps、监控、持续改进、质量保证以及需要在一个容器化、分布式应用环境中定位的其他程序的产品。社区成员一开始担心Docker会直接构建编排工具,而不是担心能不能够创造一个像Mesosphere那样的集成产品,竞争编排工具将需要使用一个精密变通的解决方法,以提供一个替代Docker已经有的产品。

Docker编排公告一再强调说是100%的可移植性以及Swarm API的 “batteries-included-but-swappable”的性质巧妙地解决这一问题。

Messina说:“Docker官方的编排公告中有提到,Docker的编排工具会对生态圈中所有的编排工具开放,Docker社区需要建立多容器和多主机的分布式应用程序。编排工具都非常灵活,它允许合作伙伴通过API进行开发。”

原文链接:Docker Releases Orchestration Tool Kit (翻译:田浩浩 校对:李颖杰)

欢迎加入about云群9037177932227315139327136 ,云计算爱好者群,亦可关注about云腾讯认证空间||关注本站微信

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条