本文来自我的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. HTML <form>标签

    1.单选按钮 <html> <body> <form> 名: <input type="radio" name="myname& ...

  2. UE4/Unity3D中同时捕获多高清摄像头的高效插件

    本文主要讲实现过程的一些坑. 先说下要实现的目标,主要功能在UE4/Unity中都要用,能同时捕获多个摄像头,并且捕获的图片要达到1080p25桢上,并且需要经过复杂的图片处理后丢给UE4/Unity ...

  3. Ubuntu问题:E45: 'readonly' option is set (add ! to override)错误解决

    问题描述:E45: 'readonly' option is set (add ! to override) 问题分析:该错误为当前用户没有权限对文件作修改 问题解决: 输入 :w !sudo tee ...

  4. 用jquery怎么删除<table>的一行

    摘录网址:用jquery怎么删除<table>的一行 思路:获取<table>的一行,然后使用 remove() 方法删除之.实例演示如下: 1.HTML结构 <tabl ...

  5. python_如何获取文件状态

    案例: 在某项目中,需要获取文件状态,如: 文件的类型(普通文件.目录.符合连接.设备文件) 文件的访问权限 文件最后 访问.修改.节点状态 时间 普通文件大小 -- 如何解决? 方法1:通过os原始 ...

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

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

  7. wampserver 的Apache启动错误提示:The requested URL / was not found on this server.

    打开localhost显示以下错误 原因:之前我配置了虚拟主机,所以服务器是从虚拟环境访问的,localhost也就访问不到 解决方法:打开httpd.conf配置文件,将Include conf/e ...

  8. 服务器开发之CGI后门

    1.html代码 <form id = "form" name="form" method="post" action=". ...

  9. C语言预处理 编译 汇编 链接四个阶段

    c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接. 编译过程 编译过程又可以分成两个阶段:编译和会汇编. 编译 编译是读取源程序(字符流),对之进行词法和语法的分析,将高 ...

  10. 《.NET 设计规范》第 8 章:使用规范

    第 8 章:使用规范 8.1 数组 要在公共 API 中优先使用集合,避免使用数组. 不要使用只读的数组字段.虽然字段本身是只读的,用户不能修改它们,但用户可以修改数组中的元素. 考虑使用不规则数组, ...