本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn

摘要:

  • swarm是docker原生的集群管理软件,与kubernetes比起来比较简单

1、部署

系统时centos7上
关闭防火墙 systemctl stop firewalld.service 
关闭selinux vi /etc/selinux/comfig

192.168.10.140 swarm manager
192.168.10.141 swarm node
192.168.10.142 swarm mode

2、分别在manager节点和node节点上安装docker

安装方式参照我的另一篇文章docker安装http://galengao.github.io/docker/2016/06/03/mydocker-use.html

  1. yum update
  2.  
  3. tee /etc/yum.repos.d/docker.repo<<EOF
  4. [dockerrepo]
  5. name=Docker Repository
  6. baseurl=https://yum.dockerproject.org/repo/main/centos/7/
  7. enabled=
  8. gpgcheck=
  9. gpgkey=https://yum.dockerproject.org/gpg
  10. EOF
  11.  
  12. yum install docker-engine
  1.  

3、分别在manager节点和node节点上配置docker

  1. vi /lib/systemd/system/docker.service
  2. # 修改ExecStart项为如下:
  3. ExecStart=/usr/bin/docker daemon -H 0.0.0.0: -H unix:///var/run/docker.sock
  4. # 重新载入配置,使修改生效。
  5. systemctl daemon-reload
  6. # 重启docker。
  7. systemctl restart docker
  1.  

4、在manager节点和node节点上push swarm镜像

  1. [root@swarm1 ~]# docker pull swarm
  2. Using default tag: latest
  3. latest: Pulling from library/swarm
  4. 1e61bbec5d24: Pull complete
  5. 8c7b2f6b74da: Pull complete
  6. 245a8db4f1e1: Pull complete
  7. Digest: sha256:661f2e4c9470e7f6238cebf603bcf5700c8b948894ac9e35f2cf6f63dcda723a
  8. Status: Downloaded newer image for swarm:latest
  1.  

5、创建集群token,获取全球唯一的 token,作为集群唯一标识

  1. # 在任何节点都可以,但是要记住该值,以后要用到
  2. [root@swarm1 ~]# docker run --rm swarm create
  3. eca9b4ab85feb53f8a9676c72dd01b1a
  1.  

6、加入集群

  1. # 在manager也就是节点node1
  2. [root@swarm1 ~]# docker run -d swarm join -addr=192.168.10.140: token://eca9b4ab85feb53f8a9676c72dd01b1a
  3. 109da11914295c588c6afe5f83ab731bd0d0012897c39c311de89534e2f5bc13
  4. # node2上
  5. [root@swarm1 ~]# docker run -d swarm join -addr=192.168.10.141: token://eca9b4ab85feb53f8a9676c72dd01b1a
  6. 1da02eb6a00a8860eefe965a0aded446aebff8b502962c717dd3f494b546841a
  7. # node3上
  8. [root@swarm1 ~]# docker run -d swarm join -addr=192.168.10.142: token://eca9b4ab85feb53f8a9676c72dd01b1a
  9. b5483c91bff0ad21e19700af51990d631e991f9d67188c7419f147652d494972
  1.  

7、启动管理机

  1. # 在管理机上执行:
  2. [root@swarm1 ~]# docker run -d -p : swarm manage token://eca9b4ab85feb53f8a9676c72dd01b1a
  3. 3073a3dd59a5782f706d6481cfd1a36e8090f21764dfec2532899450bd719456
  1.  

8、查看节点信息

  1. # 本机上查看节点信息
  2. [root@swarm1 ~]# docker ps -a
  3. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  4. 1da02eb6a00a swarm "/swarm join -addr=19" minutes ago Up minutes /tcp sick_bose
  5. # 查看集群所有节点信息,在任何一台机器上执行
  6. [root@swarm1 ~]# docker run --rm swarm list token://eca9b4ab85feb53f8a9676c72dd01b1a
  7. 192.168.10.142:
  8. 192.168.10.141:
  9. 192.168.10.140:
  10. # 查看集群详细信息。在任何一台机器上执行:
  11. # 该IP地址是manager的地址
  12. [root@swarm1 ~]# docker -H 192.168.10.140: info
  13. Containers:
  14. Running:
  15. Paused:
  16. Stopped:
  17. Images:
  18. Server Version: swarm/1.2.
  19. Role: primary
  20. Strategy: spread
  21. Filters: health, port, containerslots, dependency, affinity, constraint
  22. Nodes:
  23. (unknown): 192.168.10.142:
  24. ID:
  25. Status: Pending
  26. Containers:
  27. Reserved CPUs: /
  28. Reserved Memory: B / B
  29. Labels:
  30. UpdatedAt: --28T07::39Z
  31. ServerVersion:
  32. (unknown): 192.168.10.141:
  33. ID:
  34. Status: Pending
  35. Containers:
  36. Reserved CPUs: /
  37. Reserved Memory: B / B
  38. Labels:
  39. UpdatedAt: --28T07::39Z
  40. ServerVersion:
  41. (unknown): 192.168.10.140:
  42. ID:
  43. Status: Pending
  44. Containers:
  45. Reserved CPUs: /
  46. Reserved Memory: B / B
  47. Labels:
  48. UpdatedAt: --28T07::39Z
  49. ServerVersion:
  50. Plugins:
  51. Volume:
  52. Network:
  53. Kernel Version: 3.10.-.el7.x86_64
  54. Operating System: linux
  55. Architecture: amd64
  56. CPUs:
  57. Total Memory: B
  58. Name: 3073a3dd59a5
  59. Docker Root Dir:
  60. Debug mode (client): false
  61. Debug mode (server): false
  62. WARNING: No kernel memory limit support

docker swarm集群搭建的更多相关文章

  1. docker swarm集群搭建及使用Portainer、shipyard

    一.规划 1.swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1   localhost 192.168. ...

  2. 分享:docker swarm集群搭建

    [Y_H]实践原创 三台虚拟机:1台centOS , 2台ubuntu.   网上有用docker-machine创建虚拟机做的例子.   这里直接用VMware创建这三台虚拟机,然后用xshell连 ...

  3. docker swarm集群搭建以及使用滚动更新

    基础环境,三台虚拟机 172.17.3.70 172.17.3.71 172.17.3.72 系统配置:centos 7,关闭selinux 需要优化的基础配置: [root@sw1 ~]# vim ...

  4. Docker swarm集群搭建教程

    一.什么是Swarm Swarm这个项目名称特别贴切.在Wiki的解释中,Swarm behavior是指动物的群集行为.比如我们常见的蜂群,鱼群,秋天往南飞的雁群都可以称作Swarm behavio ...

  5. DOCKER 学习笔记8 Docker Swarm 集群搭建

    前言 在前面的文章中,已经介绍如何在本地通过Docker Machine 创建虚拟Docker 主机,以及也可以在本地Windows 创建虚拟主机,也是可以使用的.这一节,我们将继续学习 Docker ...

  6. docker swarm 集群搭建

    创建一个集群 [vagrant@node1 ~]$ docker swarm init --advertise-addr 192.168.9.101 Swarm initialized: curren ...

  7. 从零开始搭建Docker Swarm集群

    从零开始搭建Docker Swarm集群 检查节点Docker配置 1. 打开Docker配置文件(示例是centos 7)vim /etc/sysconfig/docker2. 添加-H tcp:/ ...

  8. Docker系列之swarm集群搭建

    学习Docker很久了,今天分享一下Docker的swarm集群的搭建过程很简单 首先第一步是 每台机器上面都要安装docker 本人使用的是centos7操作系统,使用3太虚拟机,3太虚拟机必须网络 ...

  9. Docker Swarm 集群环境搭建及弹性服务部署

    上一篇文章<Docker Swarm 集群管理利器核心概念扫盲>中我们把 Swarm 重要的概念性知识给大家讲解了一波,理论完事就该实战了,这篇文章带大家从零开始,搭建 Docker Sw ...

随机推荐

  1. 读书笔记——《C++ Concurrency IN ACTION》

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  2. Redis单机版安装

    1.工具简单介绍 1.博主使用的是Xshell工具 ps:需要设置端口和连接名称,端口一般默认为22,需要的童鞋可以自行百度 2.Redis单机版安装 第一步:安装gcc编译环境 yum instal ...

  3. IOS中UIScrollView的contentSize、contentOffset和contentInset属性

    IOS中,UIScrollView是可以滚动的视图,其中最常用的UITableView就是继承了UIScrollView. 跟所有的view一样,UIScrollView有一个frame属 性,同时, ...

  4. Hadoop问题:The auxService:mapreduce_shuffle does not exist

    问题描述:The auxService:mapreduce_shuffle does not exist INFO mapreduce.Job: Task Id : attempt_146180833 ...

  5. list类型

    list是一个链表结构,可以模拟栈,队列 lpush list中压入一个元素   模拟栈 lrange  取出list的中的元素(0 -1 表示从头取到尾) rpush list中压入一个元素   模 ...

  6. Ubuntu中使用dnw工具:没有找到/dev/secbulk0

    Ubuntu中使用dnw动机: 一. 之前没有用ubuntu中的dnw,想试试. 二. 因为换了win10系统,怕搞不定win10中dnw的驱动,想着在ubuntu中不用禁用数字签名啥的比较省心.(事 ...

  7. 【转】SED多行模式空间

    在前面看到的都是单行模式.每次sed处理一个行. 但是sed是允许一次处理多行的.这就是所谓的多行模式空间. 多行模式空间命令有(N.D.P),他们分别对应单行模式空间(n.d.p). 分别是他们的多 ...

  8. useradd和adduser

    1.Ubuntu中,adduser是一个脚本,而useradd是一个二进制程序,前者对后者进行了封装,更加智能. 2.Centos中,adduser和useradd完全相同,adduser是一个符号链 ...

  9. cat写入数据

    1.cat可以利用两个>>把内容追加到文件中 cat >>oldboy.txt<<EOF >1 >2 >EOF 会在文件中加入EOF中间的数据.E ...

  10. Python字典(dict)使用技巧

    字典dict是Python中使用频率非常高的数据结构,关于它的使用,也有许多的小技巧,掌握这些小技巧会让你高效地的使用dict,也会让你的代码更简洁. 1.默认值 假设name_for_userid存 ...