docker swarm集群搭建

Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一 的,虚拟的主机。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的DockerClient(docker client in go, docker_py, docker等)均可以直接与Swarm通信。Swarm几乎全部用Go语言来完成开发。

Swarm deamon只是一个调度器(Scheduler)加路由器(router),Swarm自己不运行容器,它只是接受docker客户端发送过来的请求, 调度适合的节点来运行容器,这意味着,即使Swarm由于某些原因挂掉了,集群中的节点也会照常运行,当Swarm重新恢复运行之后,它会收集重建集群信 息。下面是Swarm的结构图:


集群的搭建:

环境:

os:centos-7.1_x86_64

物理机两台64位:10.10.40.45(master),10.10.40.47(slave)

docker:docker-1.7.1-115.el7.x86_64

搭建过程如下:


1.      安装centos-7.1系统(我用CentOS-7-x86_64-DVD-1503-01.iso光盘的方式安装的)

2.      安装docker:

============

# yum install –y docker

===============

安装swarm:

===========

#docker pull swarm

===========

3.      修改:docker的deviceMapper 的driver模式改为:overlay

(1.)停止docker并移除默认的容器和镜像:

=============

       # systemctl stop docker

       # rm -rf /var/lib/docker

=============

(2.)修改/etc/sysconfig/而配置文件将OPTIONS='--selinux-enabled' 改为:

OPTIONS='--selinux-enabled=false'

 

 

(3.)修改:/etc/sysconfig/docker-storage配置文件,将DOCKER_STORAGE_OPTIONS项改为:DOCKER_STORAGE_OPTIONS= -s overlay,如果有其他的DOCKER_STORAGE_OPTIONS配置项,则将其注释掉。

(4).再次重新启动docker:

==============

 systemctl start docker

==============

(5) 执行:docker info命令显示如下(Storage Driver 改为overlay):

[[[[=========


]]]]=========

 

4.      创建(master 主机上执行,我的主机为:10.10.40.45)swarm token:

===============

docker run –rm swarmcreate

===============

Show:


生成的token值必须记下后续会用到(我的token值为: 921f487a6489543a5d232d48287f8a0f)

5.      分别在主机和丛机上启动监听进程:

10.10.40.45主机(master):


Show:



10.10.40.47主机(slave):


Show:

 

 

6.      在主机(master)上分别注册节点:

10.10.40.45节点

==========

docker run -dswarm join --addr=10.10.40.47:2375 token://921f487a6489543a5d232d48287f8a0f

==========

 

 

10.10.40.47节点:

==========

 

docker run -dswarm join --addr=10.10.40.45:2375 token://921f487a6489543a5d232d48287f8a0f

==========

 

Show:


7.      在主机上(master)启动管理节点:

===========

docker run -d -p:2375 swarm manage token://921f487a6489543a5d232d48287f8a0f

==========

Show:


8.      查看swarm的集群的情况(在主机上执行命令):

(1.)列出节点列表:

===============

docker run --rmswarm list token://921f487a6489543a5d232d48287f8a0f

  ===============

 

(2.)列出详细信息:

============

docker -Htcp://10.10.40.45:2375 info

============

 

你可能感兴趣的:(技术开发)