更加重要的是,对于manger节点和worker节点使用的token是不同的。
节点,只有在加入swarm集群的时候,使用join-token。在加入集群之后,如果token发生了变化,对于节点是不会有影响。
更新token的好处时,新节点是不可以通过旧的token加入到集群中的。
接下来的内容,会分别说明,如何查看加入集群的命令,还有,如何对token进行更新.
1、查看worker节点加入集群的命令
[root@nccztsjb-node-01 ~]# docker swarm join-token worker
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-3kb6gjix9gg8ton3rc2sc955s 172.20.59.76:2377
[root@nccztsjb-node-01 ~]#
其中,是生成的加密的token
SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-3kb6gjix9gg8ton3rc2sc955s
2、查看manager加入集群的命令
[root@nccztsjb-node-01 ~]# docker swarm join-token manager
To add a manager to this swarm, run the following command:
docker swarm join --token SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-8rphxicc5jnvdv9m8z8b3qg40 172.20.59.76:2377
[root@nccztsjb-node-01 ~]#
其中,token
SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-8rphxicc5jnvdv9m8z8b3qg40
发现,woker的token和manager的token是不同的。
3、仅打印token
使用--quiet参数
[root@nccztsjb-node-01 ~]# docker swarm join-token worker --quiet
SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-3kb6gjix9gg8ton3rc2sc955s
[root@nccztsjb-node-01 ~]#
[root@nccztsjb-node-01 ~]#
[root@nccztsjb-node-01 ~]# docker swarm join-token manager --quiet
SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-8rphxicc5jnvdv9m8z8b3qg40
[root@nccztsjb-node-01 ~]#
token是加入的集群的秘密的凭证,需要对token进行严格的保密处理。
如果节点的加入token被泄露,其他人可以将节点加入到集群中,那么就可能会有task被运行到节点上,进而对应用上的数据进行窥视,如果是manager的加入token被泄露了,问题就更加的严重了,整个集群的控制权都被获取到了,那时,集群的处境也是极其危险的。
那么,在什么情况下,需要更新加入 token?
4、何时更新加入token
列出几个场景:
如果token存放在了 版本控制系统,如git上,并且在日志或者聊天中打印了出来
如果怀疑某个节点被入侵了
如果想保证,没有新节点加入集群,或者加入集群时,使用一个最新的token
此外,更加重要的是,为了保证token的安全性,建议,定期的更新token,比如6个月更新一次。
5、生成新的加入token
执行下面的命令,使得旧的token失效,与此同时,生成一个新的token
更新worker的加入token
[root@nccztsjb-node-01 ~]# docker swarm join-token --rotate worker
Successfully rotated worker join token.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-7vm6upgpiu6m37xrddrmtse0t 172.20.59.76:2377
[root@nccztsjb-node-01 ~]#
[root@nccztsjb-node-01 ~]# docker swarm join-token --rotate manager
Successfully rotated manager join token.
To add a manager to this swarm, run the following command:
docker swarm join --token SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-5gjb9x4uloj5a6jclb8g8od2l 172.20.59.76:2377
[root@nccztsjb-node-01 ~]#
[root@nccztsjb-node-05 ~]# docker swarm join --token SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-3kb6gjix9gg8ton3rc2sc955s 172.20.59.76:2377
Error response from daemon: rpc error: code = InvalidArgument desc = A valid join token is necessary to join this cluster
[root@nccztsjb-node-05 ~]#
使用最新的加入token,再试试
docker swarm join --token SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-7vm6upgpiu6m37xrddrmtse0t 172.20.59.76:2377
[root@nccztsjb-node-05 ~]# docker swarm join --token SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-7vm6upgpiu6m37xrddrmtse0t 172.20.59.76:2377
This node joined a swarm as a worker.
[root@nccztsjb-node-05 ~]#
OK,到这里,我们介绍了:
查看worker、manager加入集群的命令
什么时候,需要更新加入的token
如何生成加入的token