文章目录
1. Docker swarm
1.1 简介
- Swram是Docker公司推出的官方容器集群平台,基于go语言实现,代码开源在https://github.com/docker/swarm .2016年2月对架构进行重新设计,推出了v2版本,支持超过1千个节点。作为容器集群管理器,Swarm最大的优势之一就是100%支持标准的DockerAPI及工具(如Compose,docker-py等),Docker本身就可以很好地与Swarm进行集成。
- Swarm在Docker 1.12版本之前属于-一个独立的项目,在Docker1.12版本发布之后,该项目合并到了Docker中,成为Docker的一个子命令。.
- Swarm是Docker社区提供的唯一个原生支持Docker集群管理的工具。
- Swarm可以把多个Docker主机组成的系统转换为单一的虛拟Docker主机,使得容器可以组成跨主机的子网网络
- Docker Swarm是一个为IT运维团队提供集群和调度能力的编排工具。
1.2 节点详解
Manager:接收客户端服务定义,将任务发送到agnet节点,维护集群期望状态和集群管理功能以及leader选举。默认情况下manager节点也会运行任务,也可以配置只做管理任务。
worker:接收并执行从管理节点分配的任务,并报告任务当前的状态,以便Manager节点维护每个服务期望状态。
1.3 相关概念
- 任务(task)是Swarm中的最小调度单位,目前来说就是一个单一的容器
- 服务(Services)是指一组任务的集合,服务定义了任务的属性
2. 部署集群
Manager端:server1
worker端:server2,server3
- Manager端配置
docker swarm init
:初始化集群
- worker端配置
在所有worker节点执行初始化集群输出的指令: