介绍
Docker 1.12 在 2016 年7 月28 日正式GA,除了大量的在使用上的改进和bug 修复外,最引人瞩目的是Docker原生支持了Swarm 模式,而不是将Swarm作为一个容器对集群进行管理。而docker1.12的操作命令并不向下兼容,于是过去所有创建swarm集群的文档都不能参考了。
Docker Engine 1.12及后续版本集成了SwarmKit编排服务,即Swarm Mode。它将服务对象引入到docker中,提供swarm集群管理的原生支持并实现scaling、rolling update、service discovery、load balance、routing mesh等特性。
基本概念
节点(Node)
节点(Node)为swarm集群中的一个Docker Engine实例。分为管理节点(Manager Node)和工作节点(Work Node)两种。
管理节点(Manager Node):负责swarm集群管理并向工作节点分配任务
工作节点(Work Node):接受并执行来自管理节点的Task。
服务(Service)
是对在worker nodes所运行一组任务的定义,它是整个swarm的核心,一个Service由多个任务组成。
任务(Task)
包含Docker容器和容器中运行的命令或应用,它是swarm中被调度的最小单元。简单可理解为一个Task就是一个容器。
操作指令
Swarm Mode下主要使用三组新的命令行工具创建和管理一个Swarm集群:
docker swarm:开启swarm模式;加入Swarm集群;配置集群参数
docker node: 查询集群节点信息;提升/移除一个管理节点;管理swarm节点主机
docker service: 创建管理service