本文来自我的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

yum update

tee /etc/yum.repos.d/docker.repo<<EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=
gpgcheck=
gpgkey=https://yum.dockerproject.org/gpg
EOF yum install docker-engine
 

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

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

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

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

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

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

6、加入集群

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

7、启动管理机

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

8、查看节点信息

# 本机上查看节点信息
[root@swarm1 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1da02eb6a00a swarm "/swarm join -addr=19" minutes ago Up minutes /tcp sick_bose
# 查看集群所有节点信息,在任何一台机器上执行
[root@swarm1 ~]# docker run --rm swarm list token://eca9b4ab85feb53f8a9676c72dd01b1a
192.168.10.142:
192.168.10.141:
192.168.10.140:
# 查看集群详细信息。在任何一台机器上执行:
# 该IP地址是manager的地址
[root@swarm1 ~]# docker -H 192.168.10.140: info
Containers:
Running:
Paused:
Stopped:
Images:
Server Version: swarm/1.2.
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes:
(unknown): 192.168.10.142:
└ ID:
└ Status: Pending
└ Containers:
└ Reserved CPUs: /
└ Reserved Memory: B / B
└ Labels:
└ UpdatedAt: --28T07::39Z
└ ServerVersion:
(unknown): 192.168.10.141:
└ ID:
└ Status: Pending
└ Containers:
└ Reserved CPUs: /
└ Reserved Memory: B / B
└ Labels:
└ UpdatedAt: --28T07::39Z
└ ServerVersion:
(unknown): 192.168.10.140:
└ ID:
└ Status: Pending
└ Containers:
└ Reserved CPUs: /
└ Reserved Memory: B / B
└ Labels:
└ UpdatedAt: --28T07::39Z
└ ServerVersion:
Plugins:
Volume:
Network:
Kernel Version: 3.10.-.el7.x86_64
Operating System: linux
Architecture: amd64
CPUs:
Total Memory: B
Name: 3073a3dd59a5
Docker Root Dir:
Debug mode (client): false
Debug mode (server): false
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. MySql优化子查询

    用子查询语句来影响子查询中产生结果rows的数量和顺序. For example: SELECT * FROM t1 WHERE t1.column1 IN (SELECT column1 FROM ...

  2. Oracle问题之ORA-01031权限不足

    Oracle问题之ORA-01031权限不足 此时应该按照如下写: sqlplus /nolog conn / as sysdba shutdown immediate 本地以sysdba身份登录数据 ...

  3. System包含的信息

    System类中的属性值 System.getProperty()方法大全 System.out.println("java版本号:" + System.getProperty(& ...

  4. 红米 Note3 (kenzo)刷入 Lineage OS

    红米 Note3 (kenzo)刷入Lineage OS 的过程 详细的教程请看 Install LineageOS on kenzo 本文做一些额外的补充 0 刷机之的准备工作 如果登陆了 Goog ...

  5. 用Python实现几种排序算法

    #coding=utf-8 # 1 快速排序算法 def qksort(list): if len(list)<=1: return list else: pivot = list[0] les ...

  6. 使用非java代码编程

    使用非JAVA代码     JAVA语言及其标准API(应用程序编程接口)应付应用程序的编写已绰绰有余.但在某些情况下,还是必须使用非JAVA编码.例如,我们有时要访问操作系统的专用特性,与特殊的硬件 ...

  7. linkin大话面向对象--java关键字

    java中的关键字有以下几个,他们不能作任何其它的用途. 发现没,java中的关键字全是小写,java是严格区分大小写的. abstract  default  null  synchronized ...

  8. asp.net web api 向客户端返回错误信息

    1使用Http状态码 ASP.NET Web Api框架提供了Http状态码的值,如下图所示. 虽然有这些预定义的状态码,但在实际项目中使用自定状态码结合预定义状态码更有优势. 通过在适当的位置抛出异 ...

  9. 号外号外!解决github+hexo+yilia评论插件的问题!!!

    先走一波效果图!    本人网站--http://www.wenzheng.club/ ps:效果还是不错的,支持QQ微信登录,支持表情,甚至gif动图评论! 插件采用韩国服务器的来必力评论插件--h ...

  10. IE下常见的js兼容问题

    1.IE下不支持console.log() 2.IE下不支持addEventListener() 解决办法:用IE相应的attachEvent() 3.IE下请求后台接口会有缓存 解决方案,接口加版本 ...