六、Docker Swarm项目
1、 Swarm 是 Docker 发布的管理集群的工具,一个集群由多个运行 Docker 的主机组成。 Swarm 在 Docker 1.12 之后被集成到 Docker Engine 中,又被称为 swarm mode,后面所说的 swarm 都是指 swarm mode。
2、关键概念
Role
一个集群由多个运行 Docker 的主机组成,分别作为管理者(Manager)和工作者(Worker)两个角色。管理者管理集群中的成员,而工作者运行集群服务。给定的 Docker 主机可以是一个管理员,也可以是一个工作者,或者同时具备这两个角色。
Node
一个节点(Node)是参与到 Swarm 集群中的一个实例。一般表现为运行 Docker 的主机。
服务与任务
一个服务是任务在管理节点或工作节点执行的定义,服务中运行的单个容器被称为任务。
使用集群模式运行服务时,一般有两种选项:
-
replicated services,复制服务,根据设定的值,swarm 调度在节点之间运行指定的副本任务。
-
global services,全局服务,集群在每个可用节点上运行一项任务。
一个服务的多个任务之间没有什么不同,但是对于一些特殊的服务而言,例如涉及到端口映射的服务,即便设定了多个任务,也只能启动一个。
堆栈
堆栈(stack)是一组相互关联的服务,即一个堆栈能够定义和协调整个应用程序的功能(但是一些非常复杂的应用程序可能需要使用多个堆栈)
2、环境搭建
-
创建一个swarm
-
向swarm添加节点
-
移除节点
docker node rm NODE
-
提权或撤销权限
# 提权 docker node promote NODE
# 撤权 docker node demote NODE
3、管理堆栈和服务