docker swarm集群搭建

本文来自我的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=1
gpgcheck=1
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:2375 -H unix:///var/run/docker.sock
# 重新载入配置,使修改生效。
systemctl daemon-reload
# 重启docker。
systemctl restart docker
 

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

[[email protected] ~]# 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,作为集群唯一标识

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

6、加入集群

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

7、启动管理机

# 在管理机上执行:
[[email protected] ~]# docker run -d -p 2376:2375 swarm manage token://eca9b4ab85feb53f8a9676c72dd01b1a
3073a3dd59a5782f706d6481cfd1a36e8090f21764dfec2532899450bd719456
 

8、查看节点信息

# 本机上查看节点信息
[[email protected] ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
1da02eb6a00a        swarm               "/swarm join -addr=19"   27 minutes ago      Up 27 minutes       2375/tcp            sick_bose
# 查看集群所有节点信息,在任何一台机器上执行
[[email protected] ~]# docker run --rm swarm list token://eca9b4ab85feb53f8a9676c72dd01b1a
192.168.10.142:2375
192.168.10.141:2375
192.168.10.140:2375
# 查看集群详细信息。在任何一台机器上执行:
# 该IP地址是manager的地址
[[email protected] ~]# docker -H 192.168.10.140:2376 info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: swarm/1.2.3
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes: 3
 (unknown): 192.168.10.142:2375
  └ ID:
  └ Status: Pending
  └ Containers: 0
  └ Reserved CPUs: 0 / 0
  └ Reserved Memory: 0 B / 0 B
  └ Labels:
  └ UpdatedAt: 2016-07-28T07:54:39Z
  └ ServerVersion:
 (unknown): 192.168.10.141:2375
  └ ID:
  └ Status: Pending
  └ Containers: 0
  └ Reserved CPUs: 0 / 0
  └ Reserved Memory: 0 B / 0 B
  └ Labels:
  └ UpdatedAt: 2016-07-28T07:54:39Z
  └ ServerVersion:
 (unknown): 192.168.10.140:2375
  └ ID:
  └ Status: Pending
  └ Containers: 0
  └ Reserved CPUs: 0 / 0
  └ Reserved Memory: 0 B / 0 B
  └ Labels:
  └ UpdatedAt: 2016-07-28T07:54:39Z
  └ ServerVersion:
Plugins:
 Volume:
 Network:
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: linux
Architecture: amd64
CPUs: 0
Total Memory: 0 B
Name: 3073a3dd59a5
Docker Root Dir:
Debug mode (client): false
Debug mode (server): false
WARNING: No kernel memory limit support
时间: 2024-10-14 19:15:36

docker swarm集群搭建的相关文章

Docker swarm 集群搭建

Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理docker集群,它将一群Docker宿主机变成一个单一的,虚拟的主机.Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(docker client in Go, docker_py, docker等)均可以直接与Swarm通信.Swarm几乎全部用go语言来完成开发,上周五,4月17号,Swarm0.2发布,相比0.1版本,0.2版本增加了一个新的策略来

从零开始搭建Docker Swarm集群

从零开始搭建Docker Swarm集群 检查节点Docker配置 1. 打开Docker配置文件(示例是centos 7)vim /etc/sysconfig/docker 2. 添加-H tcp://0.0.0.0:2375到OPTIONSOPTIONS='-g /cutome-path/docker -H tcp://0.0.0.0:2375' 3. CentOS6.6 需要另外添加-H unix:///var/run/docker.sockOPTIONS='-g /mnt/docker 

Docker系列之swarm集群搭建

学习Docker很久了,今天分享一下Docker的swarm集群的搭建过程很简单 首先第一步是 每台机器上面都要安装docker 本人使用的是centos7操作系统,使用3太虚拟机,3太虚拟机必须网络互通(废话) docker早在1.12版本就已经支持原生的swarm集群搭建了不用再用第三方etcd 等注册发现插件 首先第一步创建集群 docker swarm init 默认的集群地址是本机,当然也可以指定地址通过 --listen-addr 参数指定 执行完上面的命令之后显示了证明创建管理节点

docker swarm集群及其UI部署

一.规划 ①swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1   localhost 192.168.139.175  swarm01  192.168.139.176  swarm02  192.168.139.177  swarm03 ②配置SSH免密登陆 # ssh-keygen -t rsa -P '' # ssh-copy-id -i .ssh/id_rsa.pub [email prote

Docker Swarm集群部署应用

在Docker Swarm集群部署应用 我们过去使用docker run的命令创建容器, 把前面替换成docker service create就行了. 建议搭建一个registry,为所的docker主机提供镜像下载,否则你需要在每个docker主机本地存在容器镜像. 所以搭建一个私有仓库,由私有仓库提供所需要的镜像, 本实验环境中用node1同时作为registry. 拉取本地私有仓库registry,查看registry镜像 基础环境 全部为CentOS7系统,Docker 版本为1.12

通过docker-machine和etcd部署docker swarm集群

本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使用一个集群,你运行的容器可能会在容器中的任何一个节点上运行: 首先盗一张 docker swarm的架构图: 图片来源 https://yeasy.gitbooks.io/docker_practice/content/swarm/intro.html 在使用 Swarm 管理docker 集群时,

Docker Swarm集群初探

前言 相信Docker技术大家都有所了解,单个Docker能发挥的作用毕竟有限,也不便于管理,所以Docker得组集群来使用才能发挥强大的技术优势.既然要组集群那就涉及诸如Docker的资源调度.管理等等一系列问题.目前涉及Docker集群的三个主要的技术无外乎Swarm.Kubernetes.Mesos三种.从本文开始作者将会一一实践这几种主要的Docker集群技术,话不多说,现在开始. 注意:作者的kubernetes相关实践在此 环境准备 Mac OS X 10.13.2 Docker 1

Docker redis集群搭建

Docker redis集群搭建 环境1: 系统:Linux Centos 7.4 x64 内核:Linux docker 3.10.0-693.2.2.el7.x86_64 Docker 版本:18.09.1 redis 版本:redis-4.0.9 主机数量:1台 主机地址:192.168.1.81 环境2: 已搭建 Docker Swarm 管理 已搭建 Docker 私有仓库 已搭建 NFS 存储 目录结构 └── redis ├── Dockerfile ├── redis-4.0.9

Docker系列(十四):Docker Swarm集群

一.Swarm简介 Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Kubernetes比较类似,但是更加轻便,具有的功能也较kubernetes更少一些. Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令.目前,Swarm 是 Do