1、 Docker Swarm 是什么
Docker 官方的集群模式,可以管理一组 Docker Engine
2、 Docker Swarm 的要求
- 集群节点都安装了 Docker Engine
- 集群节点都拥有固定 IP
- 集群节点相互之间开放了 2377 TCP、7946 TCP/UDP、4789 UDP 端口
3、 Docker Swarm 的节点概念
Docker Swarm 集群中的每台主机称为一个节点,节点类型有 管理节点(manager) 和 工作节点(worker) 两种
-
管理节点(manager)
- 负责管理 Docker Swarm 集群,如集群主机管理、服务管理、服务调度等等
- 默认情况下管理节点也是工作节点(即管理节点也可以运行服务)
- 管理节点越多,集群的容错率越高,但是管理节点太多,集群的性能也会受到影响,因此需要平衡好管理节点的数量
- 官方建议 Docker Swarm 的管理节点为单数个(如 1、3、5、7、9),集群最多允许
(N-1)/2
个管理器节点故障(其中 N
为管理节点的个数)
- 建议测试集群配置 3、5 个管理节点,生产集群配置 5、7 个管理节点,且这些管理节点最好分布于不同的实体服务器和区域
-
工作节点(worker)
4、 Docker Swarm 的服务、任务概念
- 服务
- 运行于 Socker Swarm 中的应用,比如一个 MySQL 、Redis 、Java 应用程序、 Nginx 等等
- 任务
- 服务的一个实际执行者,比如一个 MySQL 容器、Redis 容器等等
- 一个服务可以由一个或多个任务组成
- 也可以称为副本
5、 Docker Swarm 的负载均衡
创建 Docker Swarm 集群时会生成一个负载均衡器,使得部署于集群中的服务可以被外部访问