• 如何快速搭建一个docker swarm集群?



    本文档将告知你,如何快速的搭建一个docker swarm集群

     

    1、环境准备

     

    首先,说说需要的准备工作,需要具体以下3个条件:

     

    • 3台linux主机,主机间可相互通信
    • 安装并且已经运行docker服务
    • 无端口限制(或者如下表,开放对应的通信端口)

     

    如需开通特定的端口,见下表:

     

    端口

    作用

    2377

    和集群管理节点的通信端口

    7946

    节点间通信

    4789

    overylay网络流量端口

     

     

    2、创建swarm集群

     

    创建swarm集群的方法非常的简单,只需要在管理节点(自己定义哪个节点作为管理节点),执行如下的命令:

     

    docker swarm init --advertise-addr 172.20.59.81

     

    其中:172.20.59.81 这个IP地址是集群的管理节点的IP地址,后面的工作节点会通过这个IP和集群管理节点进行通信。

     

    执行的过程:

     

    [root@nccztsjb-node-07 ~]# docker swarm init --advertise-addr 172.20.59.81
    Swarm initialized: current node (mjktd9is5xd8d4el2awrqby5k) is now a manager.
    
    To add a worker to this swarm, run the following command:
    
        docker swarm join --token SWMTKN-1-42hb51u87llq666ma6mi2wo3rpusphttrscbp2fhueevmqdt1q-cx8r8if5qop444w98b12yfkz0 172.20.59.81:2377
    
    To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
    
    [root@nccztsjb-node-07 ~]# 

     

    到此,一个swarm集群就初始化完成了。

     

    3、增加node节点

     

    刚刚我们看到,在集群初始化之后,有如下的输出,如果要向swarm集群中增加worker节点,执行如下的命令:

     

    docker swarm join --token SWMTKN-1-42hb51u87llq666ma6mi2wo3rpusphttrscbp2fhueevmqdt1q-cx8r8if5qop444w98b12yfkz0 172.20.59.81:2377
     

    本次集群搭建,增加2个worker节点。

     

    命令执行过程,类似下面的输出:

     

    [root@nccztsjb-node-08 ~]# docker swarm join --token SWMTKN-1-42hb51u87llq666ma6mi2wo3rpusphttrscbp2fhueevmqdt1q-cx8r8if5qop444w98b12yfkz0 172.20.59.81:2377
    This node joined a swarm as a worker.

     

    当所有的节点都执行完该命令之后,在管理节点,执行如下的命令,查看节点信息:

     

    [root@nccztsjb-node-07 ~]# docker node ls
    ID                            HOSTNAME           STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION
    mjktd9is5xd8d4el2awrqby5k *   nccztsjb-node-07   Ready     Active         Leader           20.10.17
    u87i9artgcnyki0osp9gvylu3     nccztsjb-node-08   Ready     Active                          20.10.17
    z1x3ufsdxekrt6w5n37m7azfe     nccztsjb-node-09   Ready     Active                          20.10.17

     

    通过以上的信息可以看到,目前集群有3个节点,在MANAGER STATUS列中,值为“Leader”的是管理节点。

     

    注意,如果这个加入集群的一串命令忘了,或者swarm集群运行了一段时间之后,再去加worker节点,命令到哪里去找?

     

    非常的简单,只需要在manger节点,执行如下的命令:

     

    docker swarm join-token worker

     

    就会出现下面的信息,你也可以从中获取增加worker节点到swarm集群的命令

     

    [root@nccztsjb-node-07 ~]# docker swarm join-token worker
    To add a worker to this swarm, run the following command:
    
        docker swarm join --token SWMTKN-1-42hb51u87llq666ma6mi2wo3rpusphttrscbp2fhueevmqdt1q-cx8r8if5qop444w98b12yfkz0 172.20.59.81:2377
    
    [root@nccztsjb-node-07 ~]# 

     

    不过,还没有结束,那要是增加manager节点呢?

     

    别急,也非常的简单,只需在manger节点,执行下面的命令:

     

    docker swarm join-token manager

     

    你也会获得将manager节点加入集群的命令

     

    [root@nccztsjb-node-07 ~]# docker swarm join-token manager
    To add a manager to this swarm, run the following command:
    
        docker swarm join --token SWMTKN-1-42hb51u87llq666ma6mi2wo3rpusphttrscbp2fhueevmqdt1q-3dqs42ts8ewye2k938eive4uz 172.20.59.81:2377
    
    [root@nccztsjb-node-07 ~]# 

     

     

    怎么样,创建一个swarm集群是不是相当的简单、容易。

     

    不过,如何创建service,管理集群,节点,可不像创建集群这样,如此的简单······

  • 相关阅读:
    JS日期比较,使用正则表达式转换
    Using SQL*Loader to create an external table
    USACO试题beads的两种解法
    activiti5学习资料(5.12版本流程图的生成)
    黑马程序员_day20_Map集合
    开发者使用JasperReport——不同数据源之Map数据源
    给自己科谱:控制字符
    507 Jill Rides Again
    探讨工作流能给公司带来的几点益处
    ubuntu linux安装双系统的方法Win7、XP下均可
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/16636034.html
Copyright © 2020-2023  润新知