Docker Swarm
- docker集群概念
群集是一组运行docker的设备组成,其中部分机器是集群管理机(Swarm Manager) ,其他的是工作机(Worker)。群集中的机器可以是物理机或虚拟机。加入群集后,它们被统称节点(Node)。
Docker Swarm是docker公司发布的一套用来管理docker集群的工具(本质上也是一个docker镜像),可以将整个集群在逻辑上以一个单一的Docker终端的形式公开给用户。Swarm 使用标准的 Docker API 接口作为其前端访问入口,与 Docker Client 直接通信。
Docker客户端通过基于http的Docker API向Swarm管理端发送请求,Swarm Manager 通过守护进程调用集群中的某个节点来执行任务。因为容器都是运行在节点上,Swarm作为一个独立的集群管理工具,所以不会因某些原因导致不能正常工作而影响集群内所有节点的正常运行。当Swarm恢复正常后,Swarm会读取日志来执行集群的恢复动作。
图1 Docker Swarm 架构图
架构说明:
Docker Client 是用户端
Swarm Manager 作为管理程序运行在一台管理节点服务器(例如centos)上,这个节点在 Swarm 集群中承担 leader 角色,管理集群中的容器资源。管理者的管理对象不是服务器层面而是集群层面,也就是说通过Manager,只能笼统地向集群发出指令而不能具体到某台具体的服务器上要干什么