Swarm是Docker公司自研发的容器集群管理系统,Swarm在早期是作为一个独立服务存在,在Docker Engine v1.12中集成了Swarm的集群管理和编排功能。可以通过初始化Swarm或加入现有Swarm来启用Docker引擎的Swarm模式。
Docker Engine CLI和API包括了管理Swarm节点命令,比如添加、删除节点,以及在Swarm中部署和编排服务。 也增加了服务栈(Stack)、服务(Service)、任务(Task)概念。
Docker Engine client: – 1、docker service create:我们通过docker service create这个命令去创建一个服务。 swarm manager: – 1、API:这个请求直接由Swarm manager的API进行接收,接收命令并创建服务对象。 – 2、orchestrator:为服务创建一个任务。 – 3、allocater:为这个任务分配IP地址。 – 4、dispatcher:将任务分配到指定的节点。 – 5、scheduler:再该节点中下发指定命令。 worker node:接收manager任务后去运行这个任务。 – 1、container:创建相应的容器。 – 2、worker:连接到调度程序以检查分配的任务 – 3、executor:执行分配给工作节点的任务 Service:为一个副本,可以理解为是一个任务,一个任务是一个容器。 swarm manager:它将这个副本下发到三个可用的work节点。 container:实际的docker容器去运行应用。 task:work任务的名称为service名称后面跟.1根据个数以此类推。
参考