Docker 1 12新功能探索(4) 1分钟创建集群

这里写图片描述

在这篇文章里面我们将会通过创建一个极其简单的3个节点的集群来学习一下docker swarm 模式的使用方法。这个1.12版本中最引人关注的部分到底使用的感觉如何。因为没有在大型的生产环境中进行严格的比较,单从研究性质或者小规模的集群的创建的感觉来说和kubernetes的集群创建不相上下,使用方便,在准备妥当的情况下,手速快的朋友1分钟之内完全能够创建完毕。

事前确认

[root@host31 ~]# docker info |egrep 'Manager|Version'
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Server Version: 1.12.0
 Library Version: 1.02.107-RHEL7 (2015-10-14)
Kernel Version: 3.10.0-327.el7.x86_64
[root@host31 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

创建集群的Manager(Leader)

[root@host31 ~]# docker swarm init --advertise-addr 192.168.32.31:2377
Swarm initialized: current node (7hldumh3aj43tt5n95etu2zu5) is now a manager.

To add a worker to this swarm, run the following command:
    docker swarm join \
    --token SWMTKN-1-2ve6usua6ala8oqio497w7pjhqij6o6ew10ym6qoak303ct0an-3cnugfn7jkd62l8lp0p3ci5cm \
    192.168.32.31:2377

To add a manager to this swarm, run the following command:
    docker swarm join \
    --token SWMTKN-1-2ve6usua6ala8oqio497w7pjhqij6o6ew10ym6qoak303ct0an-a82d0cp1hp5wser9m6uj5vyfo \
    192.168.32.31:2377
[root@host31 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

结果确认: 从docker info里我们可以看到,Is Manager 和Managers在创建集群之前是不存在的一个Item,创建完成之后,Is Manager被设定成了true,表明了本台node的身份。

[root@host31 ~]# docker info |egrep 'Manager|Version'
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
WARNING: bridge-nf-call-ip6tables is disabled
Server Version: 1.12.0
 Library Version: 1.02.107-RHEL7 (2015-10-14)
 Is Manager: true
 Managers: 1
Kernel Version: 3.10.0-327.el7.x86_64
[root@host31 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

确认集群节点信息

[root@host31 ~]# docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
7hldumh3aj43tt5n95etu2zu5 *  host31    Ready   Active        Leader
[root@host31 ~]#
  • 1
  • 2
  • 3
  • 4

加入一个节点

[root@host33 ~]# docker swarm join \
>     --token SWMTKN-1-2ve6usua6ala8oqio497w7pjhqij6o6ew10ym6qoak303ct0an-3cnugfn7jkd62l8lp0p3ci5cm \
>     192.168.32.31:2377
This node joined a swarm as a worker.
[root@host33 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5

结果确认:加入之后同样增加了Is Manager的Item,当然因为是普通节点,此处被设定为false,同时没有Managers这个Item。

[root@host32 ~]# docker info |egrep 'Manager|Version'
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
Server Version: 1.12.0
 Library Version: 1.02.107-RHEL7 (2015-10-14)
 Is Manager: false
Kernel Version: 3.10.0-327.el7.x86_64
[root@host32 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

确认集群节点信息

已经可以看到host33成功的加入到集群之中了

[root@host31 ~]# docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
7hldumh3aj43tt5n95etu2zu5 *  host31    Ready   Active        Leader
9c58j9yl5zektje7o4391uq1p    host33    Ready   Active
[root@host31 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5

再加入一个节点

[root@host34 ~]# docker swarm join \
>     --token SWMTKN-1-2ve6usua6ala8oqio497w7pjhqij6o6ew10ym6qoak303ct0an-3cnugfn7jkd62l8lp0p3ci5cm \
>     192.168.32.31:2377
This node joined a swarm as a worker.
[root@host34 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5

确认集群节点信息

host34也成功地加入到集群当中了

[root@host31 ~]# docker node ls
ID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS
09je641kruls9fxb8112vhz7v    host34    Ready   Active
7hldumh3aj43tt5n95etu2zu5 *  host31    Ready   Active        Leader
9c58j9yl5zektje7o4391uq1p    host33    Ready   Active
[root@host31 ~]#
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自www.cnblogs.com/firsttry/p/10294770.html
今日推荐