docker swarm
https://docs.docker.com/get-started/overview/
How nodes work
扩缩容
操作都在manager上。就像redis,从机是没办法操作的。
至少三个,因为2个才多数。2-1就没有意义了。
raft:一致性算法
搭建集群
#docker-01/02/03/04 查看网络情况、命令使用方法
docker network ls
docker swarm --help
---------------------------------------
#为了注册集群管理主节点:先预知参数和命令使用方法
docker swarm init --help
ip addr
eth0:172.16.0.11
---------------------------------------
#docker-01成为一个主管理节点:初始化节点
$ docker swarm init --advertise-addr 172.16.0.11
##说明:注册成功
Swarm initialized: current node (lb4ujyjftne3t0ojhb1o7nhhw) is now a manager.
To add a worker to this swarm, run the following command:
##说明:添加工作节点操作
docker swarm join --token SWMTKN-1-30uc8rx1jk9v671nif6tw1otge9lyy3nj45xtzu1q7ehc4h793-8wpc388fnr1t7btyf91b041wj 172.16.0.11:2377
##说明:添加管理节点操作
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
#docker-02 加入为工作节点
docker swarm join --token SWMTKN-1-30uc8rx1jk9v671nif6tw1otge9lyy3nj45xtzu1q7ehc4h793-8wpc388fnr1t7btyf91b041wj 172.16.0.11:2377
#docker-01 两种方式成为该集群的管理节点或工作节点
docker node ls
docker swarm join-token manager
docker swarm join-token worker
#管理节点:生成管理节点或工作节点令牌
docker swarm join-token manager
docker swarm join-token worker
#非管理节点:通过令牌提示命令,执行成为集群的节点
总结步骤:生成init节点;加入集群(管理者,工作者);目标双主双从;
–help:
利用私网ip加入swarm
把第二个加入第一个的swarm
在主节点上预定node命令
加入第三个 成为worker
创建一个主节点的token令牌
加入第四个 成为manager
集群搭建完毕
当然 双主双从肯定是不科学的。