獲取node信息
docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
j52o5frhmphiksqz0xq1mkbbh * node1 Ready Active Leader 18.09.7 nq6v8dog0xzgpzx51x7bv59bp node2 Ready Active 18.09.7 6whtoqrhkzv3ax4xy9ab20gmy node3 Ready Active 18.09.7
讓 node3 離開,排空 node3 的容器(在 master 上操作)
docker node update --availability drain 6whtoqrhkzv3ax4xy9ab20gmy
讓 node3 主動離開集群,讓節點處於down狀態 (在 node3 上操作)
docker swarm leave
刪除 node節點(在 master 上操作)
docker node rm 6whtoqrhkzv3ax4xy9ab20gmy
添加刪除節點
[root@k8s-node1 ~]# docker swarm join --token SWMTKN-1-1f349i4b2etn0ods4l2q03dcr2l25qdmb5u9472uv2s015i9pr-1mum48hmekeqgbs55lbh536ql 10.0.23.156:2377 Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.
報錯是之前刪除node是直接rm沒有 執行排空、制動離開
解決辦法:
要加入的node上執行 [root@k8s-node1 ~]# docker swarm leave Node left the swarm.
在執行加入集群
[root@k8s-node1 ~]# docker swarm join --token SWMTKN-1-1f349i4b2etn0ods4l2q03dcr2l25qdmb5u9472uv2s015i9pr-1mum48hmekeqgbs55lbh536ql 10.0.23.156:2377 This node joined a swarm as a manager.
master上執行就可以看到了
如token忘了可以執行獲取token(master上操作)
[root@k8s-master1 ]# docker swarm join-token manager To add a manager to this swarm, run the following command: docker swarm join \ --token SWMTKN-1-1f349i4b2etn0ods4l2q03dcr2l25qdmb5u9472uv2s015i9pr-1mum48hmekeqgbs55lbh536ql \ 10.0.23.156:2377