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 --reload2、创建集群
docker swarm init --advertise-addr 192.168.1.1013、节点加入集群
docker swarm join --token SWMTKN-1-59w2aklummvra2w6cjjjagssoywqbgmnpc2qq01389bmhf2l8x-abh90k1sojtpgvsdolp52k88n 192.168.1.101:23774、退出集群
docker swarm leave5、查看集群token
docker swarm join-token -q worker6、创建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
