对于swarm集群来说,通过节点的标签,可以对节点进行分组。
与此同时,更加重要的是,在部署service的时候,可以定向调度到具有某个标签的node上。
没错,和k8s中节点增加标签的作用是类似的。
那么,在swarm中如何来给节点增加标签?
1、登录manager节点
2、查看集群节点
[root@nccztsjb-node-01 ~]# docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION gxfkhuc95br6ltkhorpw1q4tq * nccztsjb-node-01 Ready Active Reachable 20.10.17 8zjicf39fk28jn106symk1g5e nccztsjb-node-02 Ready Active 20.10.17 7d59usghrgq05k0yh4lbykw5v nccztsjb-node-04 Ready Active Reachable 20.10.17 wnd24l698iruhhp1xw0y3iyig nccztsjb-node-05 Ready Active Leader 20.10.17 [root@nccztsjb-node-01 ~]#
3、为节点增加标签
[root@nccztsjb-node-01 ~]# docker node update --label-add foo --label-add bar=baz nccztsjb-node-04 nccztsjb-node-04
语法:
docker node update --label-add <key1> --label-add <key2>=<value> <NODENAME>
4、验证节点标签
docker node inspect nccztsjb-node-04 --pretty
OK,这样,就为某个节点增加了标签。
当在部署service的时候,可以指定task要运行的具体的节点。
5、移除节点标签
对了,加完标签,怎么移除呢?
docker node update --label-rm foo --label-rm bar nccztsjb-node-04
语法:
docker node update --label-rm <key1> --label-rm <key2> nccztsjb-node-04