我已经熟悉docker/swarm,但发现有一个"新"项目:docker/swarmkit.但遗憾的是,在阅读完README后,我仍然无法弄清楚它的功能是什么docker/swarmkit
.可以anyoone帮助制定之间的关系docker/swarm
和docker/swarmkit
?为什么docker/swarmkit
出生?
Docker Swarm是一个较旧的(2014)Docker本机编排工具.它独立于Docker引擎,用于将Docker引擎连接在一起形成一个集群.然后可以连接到Swarm并在集群上运行容器.Swarm有一些功能:
允许您指定发现服务(领事等...)
一些控制放置容器的位置(使用过滤器/约束/分配策略等...)
暴露与Docker引擎本身相同的API,允许第三方工具无缝交互
Swarmkit是Docker团队开发的一种新的(2016)工具(大多数是我认为的SocketPlane收购),它提供了运行集群和将任务(注意:不一定是Docker容器)分配给集群中的机器的功能. .Swarmkit的自述文件非常好,以下是宣传的主要功能:
分布式:SwarmKit使用Raft Consensus Algorithm来协调并且不依赖于单点故障来执行决策.
安全:Swarm中的节点通信和成员资格是开箱即用的.SwarmKit使用相互TLS进行节点身份验证,角色授权和传输加密,自动执行证书颁发和轮换.
简单:SwarmKit操作简单,并最大限度地减少了基础架构依赖性.它不需要外部数据库来运行.
Docker Swarm模式(版本1.12>) 使用 Swarmkit库和功能,以便在多个主机(群集)上进行容器编排,操作非常简单和安全.有一组新的功能(主要是docker swarm
),现在内置到Docker本身,允许您启动一个新的Swarm并部署任务(在这种情况下是Docker容器,但不一定是这样,请参阅Swarmkit以上)到那个集群.
正如Docker Swarm页面上所提到的,它并没有被弃用,并且仍然是Docker多主机编排的可行方法,但是Docker Swarm模式(它使用Swarmkit库)是开始新Docker的推荐方法需要在多个主机上进行编排的项目.