Docker学习(10) Docker Swarm(上)

2019-11-05  本文已影响0人  August________

Docker学习(10) Docker Swarm

Docker Swarm——简介

集群方面

编排方面:

Docker Swarm——详解

Swarm介绍

搭建Swarm安全集群

主机名 IP
mgr1 192.168.13.138
mgr2 192.168.13.139
mgr3 192.168.13.140
wrk1 192.168.13.141
wrk2 192.168.13.142
wrk3 192.168.13.143
lhf@mgr1:~$ cat /etc/hosts
127.0.0.1   localhost
127.0.1.1   mgr1
mgr1            192.168.13.138
mgr2            192.168.13.139
mgr3        192.168.13.140
wrk1        192.168.13.141
wrk2        192.168.13.142
wrk3        192.168.13.143

  1. 初始化一个全新的管理节点
lhf@mgr1:~$ docker swarm init \
> --advertise-addr 192.168.13.138:2377 \
> --listen-addr 192.168.13.138:2377
Swarm initialized: current node (jnx5231xf6jpjuqo5hyzjo5x4) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4melegr14a21wwq6rlxdh5rv7b6pynyqxpzfol4av05ezjs1ts-9kyktqukrh19zf3wv2coc3hld 192.168.13.138:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

  1. 列出swarm的节点
lhf@mgr1:~$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
jnx5231xf6jpjuqo5hyzjo5x4 *   mgr1                Ready               Active              Leader              19.03.4

  1. 添加新的工作节点和管理节点
lhf@mgr1:~$ docker swarm join-token worker 
To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4melegr14a21wwq6rlxdh5rv7b6pynyqxpzfol4av05ezjs1ts-9kyktqukrh19zf3wv2coc3hld 192.168.13.138:2377

lhf@mgr1:~$ docker swarm  join-token manager
To add a manager to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-4melegr14a21wwq6rlxdh5rv7b6pynyqxpzfol4av05ezjs1ts-9624stu8q8fy2c46227704t9v 192.168.13.138:2377

  1. 登录到wrk1节点,使用包含工作节点接入Token的docker swarm join命令接入Swarm
lhf@wrk1:~$ docker swarm join \
> --token SWMTKN-1-4melegr14a21wwq6rlxdh5rv7b6pynyqxpzfol4av05ezjs1ts-9kyktqukrh19zf3wv2coc3hld \
> 192.168.13.138:2377 \
> --advertise-addr 192.168.13.141:2377 \
> --listen-addr 192.168.13.141:2377
This node joined a swarm as a worker.
  1. 在wrk2和wrk3重复上述操作将两个节点作为工作节点加入Swarm中
lhf@wrk2:~$ docker swarm join \
> --token SWMTKN-1-4melegr14a21wwq6rlxdh5rv7b6pynyqxpzfol4av05ezjs1ts-9kyktqukrh19zf3wv2coc3hld \
> 192.168.13.138:2377 \
> --advertise-addr 192.168.13.142:2377 \
> --listen-addr 192.168.13.142:2377
This node joined a swarm as a worker.
lhf@wrk3:~$ docker swarm join \
> --token SWMTKN-1-4melegr14a21wwq6rlxdh5rv7b6pynyqxpzfol4av05ezjs1ts-9kyktqukrh19zf3wv2coc3hld \
> 192.168.13.138:2377 \
> --advertise-addr 192.168.13.143:2377 \
> --listen-addr 192.168.13.143:2377
This node joined a swarm as a worker.
  1. 登录到mgr2节点,使用含有管理节点接入Token的docker swarm join命名,将该节点作为管理节点接入swarm中
liu@mgr2:~$ docker swarm join \
> --token SWMTKN-1-4melegr14a21wwq6rlxdh5rv7b6pynyqxpzfol4av05ezjs1ts-9624stu8q8fy2c46227704t9v \
> 192.168.13.138:2377 \
> --advertise-addr 192.168.13.139:2377 \
> --listen-addr 192.168.13.139:2377
This node joined a swarm as a manager.
  1. mgr3重复上述操作
lhf@mgr3:~$ docker swarm join \
> --token SWMTKN-1-4melegr14a21wwq6rlxdh5rv7b6pynyqxpzfol4av05ezjs1ts-9624stu8q8fy2c46227704t9v \
> 192.168.13.138:2377 \
> --advertise-addr 192.168.13.140:2377 \
> --listen-addr 192.168.13.140:2377
This node joined a swarm as a manager.
  1. 在任意管理节点列出swarm节点
liu@mgr2:~$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
jnx5231xf6jpjuqo5hyzjo5x4     mgr1                Ready               Active              Leader              19.03.4
8fz1q5m545389ddzc7p78c5kz *   mgr2                Ready               Active              Reachable           19.03.4
paoy4urdcsjwwstrkvkekf7vu     mgr3                Ready               Active              Reachable           19.03.4
kpeq1aqk4s99fe5d5tv1mydsd     wrk1                Ready               Active                                  19.03.4
29jhfuheqfhfetwchyeyk3ohb     wrk2                Ready               Active                                  19.03.4
3d2zo2em16qij9tmdxo2k9cvv     wrk3                Ready               Active                                  19.03.4

Swarm管理节点高可用性(HA)

内置的Swarm的安全机制

锁定Swarm

liu@mgr2:~$ docker swarm update --autolock=true
Swarm updated.
To unlock a swarm manager after it restarts, run the `docker swarm unlock`
command and provide the following key:

    SWMKEY-1-7qbru6TtXAOrutSvSQIvP+lNgYTmGk05+avDIQEN4Pk

Please remember to store this key in a password manager, since without it you
will not be able to restart the manager.

lhf@mgr3:~$ sudo service docker restart
lhf@mgr3:~$ docker node ls
Error response from daemon: Swarm is encrypted and needs to be unlocked before it can be used. Please use "docker swarm unlock" to unlock it.
lhf@mgr3:~$ docker swarm unlock
Please enter unlock key: 
lhf@mgr3:~$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
jnx5231xf6jpjuqo5hyzjo5x4     mgr1                Ready               Active              Leader              19.03.4
8fz1q5m545389ddzc7p78c5kz     mgr2                Ready               Active              Reachable           19.03.4
paoy4urdcsjwwstrkvkekf7vu *   mgr3                Ready               Active              Reachable           19.03.4
kpeq1aqk4s99fe5d5tv1mydsd     wrk1                Ready               Active                                  19.03.4
29jhfuheqfhfetwchyeyk3ohb     wrk2                Ready               Active                                  19.03.4
3d2zo2em16qij9tmdxo2k9cvv     wrk3                Ready               Active                                  19.03.4
上一篇 下一篇

猜你喜欢

热点阅读