"Docker/Swarm"和"Docker/Swarmkit"之间的关系是什么?

17

我已经熟悉了docker/swarm,但是发现出现了一个“新”的项目:docker/swarmkit。但不幸的是,在阅读README之后,我仍然无法弄清楚docker/swarmkit的功能。是否有人能帮忙详细介绍一下docker/swarmdocker/swarmkit之间的关系?为什么会出现docker/swarmkit


为了增加混淆,docker 1.12 中还有 Swarm 模式。因此,我们现在有旧的 swarm、swarm kit 和新的 swarm mode。 - atv
@atv,我了解Docker 1.12中的新Swarm模式正在将Docker Swarm功能集成和增强到Docker中。但是Swarm kit是什么? - Nan Xiao
我发现这篇博客文章非常有用,可以帮助理解Swarm Standalone/Swarmkit和Docker 1.12 Swarm Mode之间的区别。链接为https://sreeninet.wordpress.com/2016/07/14/comparing-swarm-swarmkit-and-swarm-mode/(是的,实际上有3个大部分重叠的不同产品) - number5
2个回答

36

Docker Swarm是一个旧的(2014年)Docker本土编排工具。它与Docker引擎相互独立,并用于连接Docker引擎以形成集群。然后可以连接到Swarm并在集群上运行容器。Swarm具有以下几个特点:

  • 允许您指定发现服务(consul等...)
  • 使用过滤器/约束/分发策略等方式对容器放置位置进行一定控制
  • 公开与Docker引擎本身相同的API,使第三方工具能够无缝交互

Swarmkit是Docker团队开发的新工具(2016年),提供了在集群中运行和分发任务(注意:不一定是Docker容器)的功能。 Swarmkit的自述文件非常好,下面是广告宣传的主要功能:

  • 分布式:SwarmKit使用Raft共识算法协调并且不依赖单点故障来执行决策。
  • 安全性:节点通信和Swarm中的成员资格默认安全。 SwarmKit使用双向TLS进行节点认证、角色授权和传输加密,自动化证书颁发和轮换。
  • 简单:SwarmKit操作简单,最小化基础设施依赖。它不需要外部数据库来运行。

Docker Swarm Mode(版本1.12>)使用Swarmkit库和功能,使跨多个主机(集群)的容器编排非常简单且安全易于操作。有一组新功能(主要是docker swarm),现在内置于Docker本身中,允许您启动新的Swarm并部署任务(在这种情况下为Docker容器,但不一定是,请参见上面的Swarmkit)到该集群。

如Docker Swarm页面上所述,它并未被弃用,并且仍然是Docker多主机编排的可行方法,但使用Swarmkit库的Docker Swarm Mode是在需要在多个主机上进行编排的新Docker项目的推荐方式。

还有一个问题,当你提到“版本 > 1.12”时,它应该包含1.12,对吗? - Nan Xiao

5

1
这是一篇非常好的文章。作者使用“SwarmNext”来描述现在大家所称的“Swarm Mode”。 - Bernard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接