-
打开manager1服务器 shell
-
查看所有可用节点 命令:
docker node ls
$ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS j1dxu07y1b7z0x5t0xbznbqra * ubuntu-1604-001 Ready Active Leader adwrrh5id86ngqa83g1keagjl ubuntu-1604-002 Ready Active 8pyzgg5le0sbd8kq9paugztub ubuntu-1604-003 Ready Active
-
保证已经启用一个redis服务
如果没有,通过以下命令
docker service create --replicas 3 --name redis --update-delay 10s redis:3.0.6-alpine
-
查看运行实例在节点分布 命令:
docker service ps redis
$ docker service ps redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS uhp5efmjo0y6 redis.1 redis:3.0.7-alpine ubuntu-1604-002 Running Running 9 minutes ago 9uzdoruo0n27 \_ redis.1 redis:3.0.7 ubuntu-1604-002 Shutdown Shutdown 9 minutes ago uzabimd9ilx5 \_ redis.1 redis:3.0.6-alpine ubuntu-1604-002 Shutdown Shutdown 12 minutes ago jqehrahx7qp0 redis.2 redis:3.0.7-alpine ubuntu-1604-003 Running Running 9 minutes ago gdcwmr75gs6s \_ redis.2 redis:3.0.7 ubuntu-1604-003 Shutdown Shutdown 9 minutes ago 6lhvz3aanelv \_ redis.2 redis:3.0.6-alpine ubuntu-1604-003 Shutdown Shutdown 11 minutes ago xu9s2zohnx2d redis.3 redis:3.0.7-alpine ubuntu-1604-001 Running Running 9 minutes ago i55mt8fzqqbp \_ redis.3 redis:3.0.7 ubuntu-1604-001 Shutdown Shutdown 9 minutes ago rxu3t1iy6qcg \_ redis.3 redis:3.0.6-alpine ubuntu-1604-001 Shutdown Shutdown 12 minutes ago
-
从两个work中找一个有运行任务的节点,执行清空(drain)命令 命令:
docker node update --availability drain <NODE-ID>
$ docker node update --availability drain ubuntu-1604-003 ubuntu-1604-003
-
查看 节点状态 命令:
docker node inspect --pretty <NODE-ID>
$ docker node inspect --pretty ubuntu-1604-003 ID: 8pyzgg5le0sbd8kq9paugztub Hostname: ubuntu-1604-003 Joined at: 2017-12-19 02:36:39.094482877 +0000 utc Status: State: Ready Availability: Drain <-------------- ...snip...
-
再次查看 redis服务的节点分布 命令:
docker service ps redis
$ docker service ps redis ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS uhp5efmjo0y6 redis.1 redis:3.0.7-alpine ubuntu-1604-002 Running Running 17 minutes ago 9uzdoruo0n27 \_ redis.1 redis:3.0.7 ubuntu-1604-002 Shutdown Shutdown 17 minutes ago uzabimd9ilx5 \_ redis.1 redis:3.0.6-alpine ubuntu-1604-002 Shutdown Shutdown 19 minutes ago x3sn26n63aaq redis.2 redis:3.0.7-alpine ubuntu-1604-001 Running Running 2 minutes ago jqehrahx7qp0 \_ redis.2 redis:3.0.7-alpine ubuntu-1604-003 Shutdown Shutdown 2 minutes ago gdcwmr75gs6s \_ redis.2 redis:3.0.7 ubuntu-1604-003 Shutdown Shutdown 17 minutes ago 6lhvz3aanelv \_ redis.2 redis:3.0.6-alpine ubuntu-1604-003 Shutdown Shutdown 19 minutes ago xu9s2zohnx2d redis.3 redis:3.0.7-alpine ubuntu-1604-001 Running Running 17 minutes ago i55mt8fzqqbp \_ redis.3 redis:3.0.7 ubuntu-1604-001 Shutdown Shutdown 17 minutes ago rxu3t1iy6qcg \_ redis.3 redis:3.0.6-alpine ubuntu-1604-001 Shutdown Shutdown 20 minutes ago
-
激活清空的节点 命令:
docker node update --availability active <NODE-ID>
$ docker node update --availability active ubuntu-1604-003 ubuntu-1604-003
-
再次查看节点状态
~$ docker node inspect --pretty ubuntu-1604-003 ID: 8pyzgg5le0sbd8kq9paugztub Hostname: ubuntu-1604-003 Joined at: 2017-12-19 02:36:39.094482877 +0000 utc Status: State: Ready Availability: Active <-------------- ...snip...
When you set the node back to Active availability, it can receive new tasks:
during a service update to scale up during a rolling update when you set another node to Drain availability when a task fails on another active node
Docker Swarm 入门示例8: swarm节点的清空和再启用
猜你喜欢
转载自my.oschina.net/u/915811/blog/1593856
今日推荐
周排行