Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。
一、Swarm基本架构:#管理端口
firewall-cmd --zone=public --add-port=2377/tcp --permanent
#节点间通信端口
firewall-cmd --zone=public --add-port=7946/tcp --permanent
firewall-cmd --zone=public --add-port=7946/udp --permanent
#overlay 网络端口
firewall-cmd --zone=public --add-port=4789/tcp --permanent
firewall-cmd --zone=public --add-port=4789/udp --permanent
#起效
firewall-cmd --reload
2、创建集群
docker swarm init --advertise-addr 192.168.1.101
3、节点加入集群
docker swarm join --token SWMTKN-1-59w2aklummvra2w6cjjjagssoywqbgmnpc2qq01389bmhf2l8x-abh90k1sojtpgvsdolp52k88n 192.168.1.101:2377
4、退出集群
docker swarm leave
5、查看集群token
docker swarm join-token -q worker
6、创建overlay network网络
docker network create -d overlay --attachable test-net
docker network ls
docker network rm [networkId]
- –opt encrypted:通信加密
- –subnet xxx:指定IP地址段
- test_net:指定的网络名称
docker node ls
三、常用命令
(1)节点命令
#列举节点
docker node ls
#上线节点
docker node update --availability active test172
#下线节点
docker node update --availability drain test172
#删除节点
docker node rm --force test172
(2)网络命令
#创建overlay网络
docker network create --driver overlay --opt encrypted --subnet 192.168.84.0/24 test_net
#列举网络
docker network ls
#查看网络详情
docker network inspect test_net
(3)服务命令
#创建服务
docker service create --replicas 5 --network test_net --name testnginx --publish 80:80 nginx
#列举服务
docker service ls
#查看服务状态
docker service ps testdemo
docker service inspect --pretty testdemo
#动态调整服务实例数目
docker service scale my_nginx=1
#更新服务的镜像
docker service update --image nginx:new my_nginx