1.nginx 服务扩容
[root@es1 data]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
8tmhn1zea9c5 mynginx1 replicated 1/1 192.168.1.11:443/myharbor/nginx:latest *:8010->80/tcp
docker service scale mynginx1=4
[root@es1 data]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
8tmhn1zea9c5 mynginx1 replicated 4/4 192.168.1.11:443/myharbor/nginx:latest *:8010->80/tcp
2.查看使用nginx的节点
--由此可见已经扩容为4个节点。
[root@es1 data]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 11 minutes ago
qpnsoe6u3w2g mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es3 Running Running about a minute ago
xwifmcrelj7g mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es2 Running Running about a minute ago
6nadar1i0jsq mynginx1.4 192.168.1.11:443/myharbor/nginx:latest es3 Running Running about a minute ago
3.nginx服务缩容
docker service scale mynginx1=1
[root@es1 data]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
8tmhn1zea9c5 mynginx1 replicated 1/1 192.168.1.11:443/myharbor/nginx:latest *:8010->80/tcp
[root@es1 data]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 14 minutes ago
4.重新扩容到6个节点并模拟宕机
[root@es1 data]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 15 minutes ago
vvl33vmrhtcq mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 28 seconds ago
yv9bc92jf8d2 mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 25 seconds ago
6jfyscvwnbjs mynginx1.4 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 25 seconds ago
di6imawfh5vp mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Running Running 27 seconds ago
zimtcns18rlr mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es3 Running Running 27 seconds ago
5.让ES3宕机
[root@es3 ~]# systemctl stop docker
[root@es1 data]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 17 minutes ago
vvl33vmrhtcq mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es1 Running Running about a minute ago
yv9bc92jf8d2 mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es2 Running Running about a minute ago
6jfyscvwnbjs mynginx1.4 192.168.1.11:443/myharbor/nginx:latest es2 Running Running about a minute ago
2nlsm8gs6xpr mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 33 seconds ago
di6imawfh5vp \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Running about a minute ago
pfa508zk017i mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 33 seconds ago
zimtcns18rlr \_ mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Running about a minute ago
--由此可见,宕机的节点上运行的nginx会故障转移到其他两个好的节点:es1/es2;
--依然保持6个存活的节点。
[root@es1 data]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
lbcg0z4t2n3lgn4nld4brdsx7 * es1 Ready Active Leader 20.10.16
j5qw78w2f6csdv1wvdwndm90u es2 Ready Active 20.10.16
q6wuwac0yvp49ydfwzqn5n7no es3 Down Active 20.10.16
--重启宕机的DOCKER节点
[root@es3 ~]# systemctl start docker
[root@es1 data]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
lbcg0z4t2n3lgn4nld4brdsx7 * es1 Ready Active Leader 20.10.16
j5qw78w2f6csdv1wvdwndm90u es2 Ready Active 20.10.16
q6wuwac0yvp49ydfwzqn5n7no es3 Ready Active 20.10.16
[root@es1 data]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 19 minutes ago
vvl33vmrhtcq mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 4 minutes ago
yv9bc92jf8d2 mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 4 minutes ago
6jfyscvwnbjs mynginx1.4 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 4 minutes ago
2nlsm8gs6xpr mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 3 minutes ago
di6imawfh5vp \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Shutdown 28 seconds ago
pfa508zk017i mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 3 minutes ago
zimtcns18rlr \_ mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Shutdown 28 seconds ago
--ES3节点虽然启动了,但是宕机的服务,并没有重启。且依然在ES1/ES2上。
6.停止单个服务
--二号节点停止一个Nginx服务
[root@es2 data]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5200344a494 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 8 minutes ago Up 8 minutes 80/tcp mynginx1.5.2nlsm8gs6xprkxgnaktwdj7te
b70fa7f45857 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 9 minutes ago Up 9 minutes 80/tcp mynginx1.4.6jfyscvwnbjssb1llklc9r12n
9db5dfc795d7 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 9 minutes ago Up 9 minutes 80/tcp mynginx1.3.yv9bc92jf8d2e6jzr37fgz98p
[root@es1 data]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 27 minutes ago
vvl33vmrhtcq mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 12 minutes ago
yv9bc92jf8d2 mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 12 minutes ago
6jfyscvwnbjs mynginx1.4 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 12 minutes ago
kvaf6j0dl5f6 mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Running Running about a minute ago
2nlsm8gs6xpr \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es2 Shutdown Complete about a minute ago
di6imawfh5vp \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Shutdown 8 minutes ago
806c2ju4s2yd mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es3 Running Running 57 seconds ago
pfa508zk017i \_ mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es1 Shutdown Complete about a minute ago
zimtcns18rlr \_ mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Shutdown 8 minutes ago
--数量还是6个,但是停止的,还是停止状态。
--缩容
[root@es1 data]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 29 minutes ago
vvl33vmrhtcq mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 14 minutes ago
yv9bc92jf8d2 mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 14 minutes ago
kvaf6j0dl5f6 mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Running Running 3 minutes ago
2nlsm8gs6xpr \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es2 Shutdown Complete 3 minutes ago
di6imawfh5vp \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Shutdown 10 minutes ago
pfa508zk017i mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es1 Shutdown Complete 3 minutes ago
zimtcns18rlr \_ mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Shutdown 10 minutes ago
--缩绒和扩容并不会改变原来宕机的容器。
--删除宕机的容器
[root@es2 data]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5200344a494 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 18 minutes ago Exited (0) 8 minutes ago mynginx1.5.2nlsm8gs6xprkxgnaktwdj7te
9db5dfc795d7 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 19 minutes ago Up 19 minutes 80/tcp mynginx1.3.yv9bc92jf8d2e6jzr37fgz98p
[root@es2 data]# docker rm mynginx1.5.2nlsm8gs6xprkxgnaktwdj7te
mynginx1.5.2nlsm8gs6xprkxgnaktwdj7te
[root@es2 data]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9db5dfc795d7 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 19 minutes ago Up 19 minutes 80/tcp mynginx1.3.yv9bc92jf8d2e6jzr37fgz98p
--一号节点删除宕机容器
[root@es1 data]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4784536258ef 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 19 minutes ago Exited (0) 8 minutes ago mynginx1.6.pfa508zk017ijqi3fmathsflm
8a2c24420b8c 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 20 minutes ago Up 20 minutes 80/tcp mynginx1.2.vvl33vmrhtcqmc0fz1c3o4q1l
ae67ca47f38e 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 35 minutes ago Up 35 minutes 80/tcp mynginx1.1.iixqev6xqn2s489vs88hztvwa
docker rm mynginx1.6.pfa508zk017ijqi3fmathsflm
[root@es1 data]# docker rm mynginx1.6.pfa508zk017ijqi3fmathsflm
mynginx1.6.pfa508zk017ijqi3fmathsflm
[root@es1 data]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8a2c24420b8c 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 20 minutes ago Up 20 minutes 80/tcp mynginx1.2.vvl33vmrhtcqmc0fz1c3o4q1l
ae67ca47f38e 192.168.1.11:443/myharbor/nginx:latest "/docker-entrypoint.…" 36 minutes ago Up 36 minutes 80/tcp mynginx1.1.iixqev6xqn2s489vs88hztvwa
--删除swarm 服务
[root@es1 data]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 36 minutes ago
vvl33vmrhtcq mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 21 minutes ago
yv9bc92jf8d2 mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 21 minutes ago
kvaf6j0dl5f6 mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Running Running 10 minutes ago
2nlsm8gs6xpr \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es2 Shutdown Complete 10 minutes ago
di6imawfh5vp \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Shutdown 17 minutes ago
pfa508zk017i mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es1 Shutdown Complete 9 minutes ago
zimtcns18rlr \_ mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es3 Shutdown Shutdown 17 minutes ago
[root@es1 ~]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running about an hour ago
vvl33vmrhtcq mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 47 minutes ago
yv9bc92jf8d2 mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 47 minutes ago
s123jmjp9g5p mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es2 Running Running 2 minutes ago
kvaf6j0dl5f6 \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest q6wuwac0yvp49ydfwzqn5n7no Shutdown Shutdown 2 minutes ago
2nlsm8gs6xpr \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es2 Shutdown Complete 37 minutes ago
di6imawfh5vp \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest q6wuwac0yvp49ydfwzqn5n7no Shutdown Shutdown 43 minutes ago
pfa508zk017i mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es1 Shutdown Complete 36 minutes ago
zimtcns18rlr \_ mynginx1.6 192.168.1.11:443/myharbor/nginx:latest q6wuwac0yvp49ydfwzqn5n7no Shutdown Shutdown 43 minutes ago
--让ES2脱机集群并加入集群。
docker node rm q6wuwac0yvp49ydfwzqn5n7no -f
[root@es1 ~]# docker service ps mynginx1
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
iixqev6xqn2s mynginx1.1 192.168.1.11:443/myharbor/nginx:latest es1 Running Running about an hour ago
vvl33vmrhtcq mynginx1.2 192.168.1.11:443/myharbor/nginx:latest es1 Running Running 54 minutes ago
cf7pto27b0h6 mynginx1.3 192.168.1.11:443/myharbor/nginx:latest es3 Running Running 4 minutes ago
yv9bc92jf8d2 \_ mynginx1.3 192.168.1.11:443/myharbor/nginx:latest j5qw78w2f6csdv1wvdwndm90u Shutdown Orphaned 2 minutes ago
chn2uyxp8wvs mynginx1.5 192.168.1.11:443/myharbor/nginx:latest es3 Running Running 4 minutes ago
s123jmjp9g5p \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest j5qw78w2f6csdv1wvdwndm90u Shutdown Orphaned 2 minutes ago
kvaf6j0dl5f6 \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest q6wuwac0yvp49ydfwzqn5n7no Shutdown Shutdown 8 minutes ago
2nlsm8gs6xpr \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest j5qw78w2f6csdv1wvdwndm90u Shutdown Complete 44 minutes ago
di6imawfh5vp \_ mynginx1.5 192.168.1.11:443/myharbor/nginx:latest q6wuwac0yvp49ydfwzqn5n7no Shutdown Shutdown 50 minutes ago
pfa508zk017i mynginx1.6 192.168.1.11:443/myharbor/nginx:latest es1 Shutdown Complete 43 minutes ago
zimtcns18rlr \_ mynginx1.6 192.168.1.11:443/myharbor/nginx:latest q6wuwac0yvp49ydfwzqn5n7no Shutdown Shutdown 50 minutes ago
7.总结
Shutdown 状态的服务无法删除。