• 如何查看加入docker swarm集群的命令?如何更新加入token?



    对于一个节点来说,如果想要加入swarm集群,需要一个加密的token.

     

    更加重要的是,对于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 ~]# 

     

     

    更新manager的加入token

    [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 ~]# 

     

     

    执行命令之后,旧的加入token失效,生成新的加入token。

     

    试试原来的加入token,还能不能用了?

    docker swarm join --token SWMTKN-1-3al94n9m4rj12p9mi4prximjm9vocg2cb2tfmkx12p6fpi7wgu-3kb6gjix9gg8ton3rc2sc955s 172.20.59.76:2377
     

    当然不能了,执行了命令,报错:

     

    [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

     

  • 相关阅读:
    Logstash-input-jdbc同步mysql数据到ES - sql_last_value
    filebeat7.5.2 在 windows server 2008 R2 设置系统服务报错
    mysql8.0.19压缩版安装
    不是RESTful不好,是你姿势有问题
    logback运行时动态创建日志文件
    jpa 主键重复导致查询list的数据总是重复第一条数据
    解决MySQL Workbench导出低版本MySQL时报错Unknown table ‘column_statistics’ in information_schema的问题
    windows10系统修改JDK版本后配置环境变量不生效怎么办
    application.properties 中文乱码问题解决
    JAVA抽象类和抽象方法(abstract)
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/16688422.html
Copyright © 2020-2023  润新知