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

来源:互联网 发布:穿越火线mac可以玩吗 编辑:程序博客网 时间:2024/06/07 06:49

这里写图片描述

在这篇文章里面我们将会通过创建一个极其简单的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 disabledWARNING: bridge-nf-call-ip6tables is disabledServer Version: 1.12.0 Library Version: 1.02.107-RHEL7 (2015-10-14)Kernel Version: 3.10.0-327.el7.x86_64[root@host31 ~]#

创建集群的Manager(Leader)

[root@host31 ~]# docker swarm init --advertise-addr 192.168.32.31:2377Swarm 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:2377To 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 ~]#

结果确认: 从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 disabledServer Version: 1.12.0 Library Version: 1.02.107-RHEL7 (2015-10-14) Is Manager: true Managers: 1Kernel Version: 3.10.0-327.el7.x86_64[root@host31 ~]#

确认集群节点信息

[root@host31 ~]# docker node lsID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS7hldumh3aj43tt5n95etu2zu5 *  host31    Ready   Active        Leader[root@host31 ~]#

加入一个节点

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

结果确认:加入之后同样增加了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: falseKernel Version: 3.10.0-327.el7.x86_64[root@host32 ~]#

确认集群节点信息

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

[root@host31 ~]# docker node lsID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS7hldumh3aj43tt5n95etu2zu5 *  host31    Ready   Active        Leader9c58j9yl5zektje7o4391uq1p    host33    Ready   Active[root@host31 ~]#

再加入一个节点

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

确认集群节点信息

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

[root@host31 ~]# docker node lsID                           HOSTNAME  STATUS  AVAILABILITY  MANAGER STATUS09je641kruls9fxb8112vhz7v    host34    Ready   Active7hldumh3aj43tt5n95etu2zu5 *  host31    Ready   Active        Leader9c58j9yl5zektje7o4391uq1p    host33    Ready   Active[root@host31 ~]#
0 0
原创粉丝点击