您的位置:首页 > 运维架构 > Docker

DOCKER swarm 集群

2016-04-08 21:59 716 查看
swarm 集群安装(ubuntu 14.04 docker 1.82) 方法一:使用静态文件
1.使用静态文件搭建swarm 集群,关闭防火墙
2.安装docker ,保持docker版本一致(docker version).
3.安装软件,升级docker
apt-get update
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
apt-get install -y lxc-docker
apt-get update -y lxc-docker
apt-get install -y suckless-tools 4.下载所有节点下载swarm 镜像
docker pull swarm 5.所有机器上执行
修改/etc/default/docker(所有机器上修改)
DOCKER_OPTS="-H 0.0.0.0:2375 -H unix:///var/run/docker.sock" 6.重启docker
service docker restart 7.在主机节点上的/root目录(我这里是10.10.1.181)新建cluster 文件
touch clusterinfo在clusterinfo输入如下信息10.10.1.181:237510.10.1.182:237510.10.1.183:2375 8.执行docker run --net=none --name swarmanager -d -p 2376:2375 -v $(pwd)/cluster:/root/clusterinfo swarm manage file:///root/clusterinfo查看集群信息root@docker01:~# docker -H 10.10.1.181:2376 INFOContainers: 17Images: 36Role: primaryStrategy: spreadFilters: affinity, health, constraint, port, dependencyNodes: 3 docker01: 10.10.1.181:2375 └ Containers: 9 └ Reserved CPUs: 0 / 4 └ Reserved Memory: 0 B / 1.012 GiB └ Labels: executiondriver=native-0.2, kernelversion=3.16.0-30-generic, operatingsystem=Ubuntu 14.04.2 LTS, storagedriver=aufs docker02: 10.10.1.182:2375 └ Containers: 1 └ Reserved CPUs: 0 / 4 └ Reserved Memory: 0 B / 1.012 GiB └ Labels: executiondriver=native-0.2, kernelversion=3.16.0-30-generic, operatingsystem=Ubuntu 14.04.2 LTS, storagedriver=aufs docker03: 10.10.1.183:2375 └ Containers: 7 └ Reserved CPUs: 0 / 4 └ Reserved Memory: 0 B / 1.012 GiB └ Labels: executiondriver=native-0.2, kernelversion=3.16.0-30-generic, operatingsystem=Ubuntu 14.04.2 LTS, storagedriver=aufsCPUs: 12Total Memory: 3.035 GiBName: 54a2a2965db1
如果能看到所有节点信息则集群安装成功

方法二:动态token集群安装
1.安装docker ,保持docker版本一致.关闭防火墙
docker version

2.安装软件,升级docker
apt-get update
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" apt-get install -y lxc-docker
apt-get update -y lxc-docker
apt-get install -y suckless-tools
3.所有机器上执行下载swarm 镜像
docker pull swarm
4.修改/etc/default/docker(所有机器上修改)
DOCKER_OPTS="-H 0.0.0.0:2375 -H unix:///var/run/docker.sock" 5.重启docker service docker restart 6.创建集群 token 获得token id
docker run --rm swarm create
token id=29f8c7bf19a6b25432a991c857249300 7.加入集群
7.1docker run --rm swarm join --addr=10.10.1.181:2375 token://29f8c7bf19a6b25432a991c857249300 docker run --rm swarm join --addr=10.10.1.182:2375 token://29f8c7bf19a6b25432a991c857249300docker run --rm swarm join --addr=10.10.1.183:2375 token://29f8c7bf19a6b25432a991c857249300(执行上面命令时不能退出,命令退出节点就会退出.)在root目录下 新建文件swarm_node_join.sh3个节点分别输入脚本docker run --rm swarm join --addr=10.10.1.181:2375 token://29f8c7bf19a6b25432a991c857249300 >/dev/null 2>&1docker run --rm swarm join --addr=10.10.1.182:2375 token://29f8c7bf19a6b25432a991c857249300 >/dev/null 2>&1docker run --rm swarm join --addr=10.10.1.183:2375 token://29f8c7bf19a6b25432a991c857249300 >/dev/null 2>&1 执行脚本 sh swarm-node_join.sh & 7.2或者使用以下命令docker run -d swarm join --addr=10.10.1.181:2375 token://29f8c7bf19a6b25432a991c857249300docker run -d swarm join --addr=10.10.1.182:2375 token://29f8c7bf19a6b25432a991c857249300docker run -d swarm join --addr=10.10.1.183:2375 token://29f8c7bf19a6b25432a991c857249300 8.在管理主机上启动swarm manager(或者任意一个docker节点上)docker run -d -p 2376:2375 swarm manage token://29f8c7bf19a6b25432a991c857249300
查看节点docker run --rm swarm list token://29f8c7bf19a6b25432a991c857249300
docker -H swarm manager ip:2376 infodocker -H swarm manager ip:2376 ps
9.指定节点运行docker 容器
9.1 首先修改docker节点 标签 修改/etc/default/docker 如下DOCKER_OPTS="-H 0.0.0.0:2375 -H unix:///var/run/docker.sock --label label_name=docker01"DOCKER_OPTS="-H 0.0.0.0:2375 -H unix:///var/run/docker.sock --label label_name=docker02"DOCKER_OPTS="-H 0.0.0.0:2375 -H unix:///var/run/docker.sock --label label_name=docker03"
9.2指定节点上启动容器docker -H 10.10.1.181:2376 run --name redis_1 -d -e constraint:label_name==docker03 redis

本文出自 “昨夜雨疏风骤” 博客,请务必保留此出处http://zxx287856774.blog.51cto.com/3417296/1761927
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: