fsfss21 发表于 2017-3-6 13:18:07

docker-swarm集群中删除节点和服务

删除swam节点    如果有的确实想要从swarm集群中删除,你应该先把这个节点容器排空,然后再把节点从集群中去掉。
      排空节点(其实就是把这个节点上的容器先从其它节点启动,再停掉排空节点上的容器,保证你定义服务的预先状态不受影响)
docker node update --availability drain g36lvv23ypjd8v7ovlst2n3yt

删除指定节点docker node rmnode9docker node rm --force node9


删除服务删除服务以后容器也会删除,注意:容器删除会延迟一定时间。# docker service rm cache_cluster2cache_cluster2

下面操作强烈不建议随意操作
离开swarm集群(离开后发现在manager里面这个节点是down的状态,当然这状态变化是有延时的,因为需要迁移容器)
1
2
3
4
5
6
7
8
9
10
# docker swarm leave
Node left the swarm.
# docker node ls
ID                           HOSTNAME    STATUSAVAILABILITYMANAGER STATUS
0jz3o2avbbugyoejzs1ed3djz    data-node3Ready   Active      
2pzv4kzc2p8f7c4wqlfupp9h9 *salt-node1Ready   Active      Leader
37lpbieigtc2cz6njwqfe0c4b    compute1    Ready   Active      
g36lvv23ypjd8v7ovlst2n3yt    salt-node3Ready   Active      Reachable
h14re9viizbs5yj3zunuo9zo8    salt-node2Ready   Active      Reachable
nuf5y9ecpeupw2eb0u9z1gt3q    data-node2Down    Active





强制离开swarm集群docker swarm leave--force


删除服务删除服务以后容器也会删除,注意:容器删除会延迟一定时间。# docker service rm cache_cluster2cache_cluster2
下面做了一个实验,清空一个节点后你会看到这个节点似的状态变为Drain    ,容器变为shutdown
查看集群内的容器状态# docker service ps redis3ID            NAME          IMAGE                                                 NODE      DESIRED STATECURRENT STATE            ERRORPORTSub6zvbeayv1eredis3.1   registry.cn-hangzhou.aliyuncs.com/forker/redis:latestsalt-node3 Running      Running 34 minutesago         pcgn683xixqn   \_ redis3.1 redis:3.0.6                                           salt-node3Shutdown       Shutdown 34 minutes ago      y2tpi5kpfz0vredis3.2   registry.cn-hangzhou.aliyuncs.com/forker/redis:latestsalt-node1 Running      Running 33 minutesago         pmsrkkpsjihp   \_ redis3.2 redis:3.0.6                                           salt-node1Shutdown       Shutdown 33 minutes ago      w75q4im55w0lredis3.3   registry.cn-hangzhou.aliyuncs.com/forker/redis:latestsalt-node2 Running      Running 34 minutesago         mc0badk4bk4h   \_ redis3.3 redis:3.0.6                                           salt-node2Shutdown       Shutdown 34 minutes ago      
排空一个节点
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# docker node update --availability drain g36lvv23ypjd8v7ovlst2n3yt
g36lvv23ypjd8v7ovlst2n3yt
# docker node ls
ID                           HOSTNAME    STATUS AVAILABILITYMANAGER STATUS
2pzv4kzc2p8f7c4wqlfupp9h9 *salt-node1ReadyActive      Leader
g36lvv23ypjd8v7ovlst2n3yt    salt-node3Ready   Drain      
h14re9viizbs5yj3zunuo9zo8    salt-node2Ready   Active   

# docker service ps redis3
ID            NAME          IMAGE               NODE      DESIRED STATECURRENT STATE            ERRORPORTS
w0jjjrdr25ehredis3.1   registry.cn-hangzhou.aliyuncs.com/forker/redis:latestsalt-node1
Running      Running 30 seconds
ago         
ub6zvbeayv1e   \_ redis3.1 registry.cn-hangzhou.aliyuncs.com/forker/redis:latestsalt-node3
Shutdown       Shutdown 34 seconds
ago      
pcgn683xixqn   \_ redis3.1 redis:3.0.6                                          
salt-node3Shutdown       Shutdown 11 hours ago         
y2tpi5kpfz0vredis3.2   
registry.cn-hangzhou.aliyuncs.com/forker/redis:latestsalt-node1
Running      Running 11 hours
ago         
pmsrkkpsjihp   \_ redis3.2 redis:3.0.6                                          
salt-node1Shutdown       Shutdown 11 hours ago         
w75q4im55w0lredis3.3   registry.cn-hangzhou.aliyuncs.com/forker/redis:latestsalt-node2
Running      Running 11 hours
ago         
mc0badk4bk4h   \_ redis3.3 redis:3.0.6                                          salt-node2Shutdown       Shutdown 11 hours ago





#恢复active一个节点
1
2
# docker node update --availability Active g36lvv23ypjd8v7ovlst2n3yt
g36lvv23ypjd8v7ovlst2n3yt



页: [1]
查看完整版本: docker-swarm集群中删除节点和服务