Docker Swarm集群
2016-07-21 by dongnan
注意,随着 k8s
成为容器编排事实上的标准, Docker公司的编排项目 compose
与 swarm
容器集群服务逐渐边缘化,
容器应用编排与容器集群管理推荐使用 kubernetes 。
目标
使用 CentOS 7.2
系统部署 Docker Swarm
集群用于测试。
环境
# 软件版本
centos 7.2 amd64
docker 10.3
# 服务器角色
swarm manage 192.168.150.201
swarm node 192.168.150.202
swarm node 192.168.150.203
管理节点
获取token
# 执行命令
docker run --rm swarm create
# 返回的结果就是token
b8e4f8d7639876c340badf5a237e6457
创建 swarm manage
容器
# 注意token
docker run --name swarm -d -p 3375:2375 \
swarm manage token://b8e4f8d7639876c340badf5a237e6457
工作节点
编辑配置文件
# 配置文件添加 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
# 结果类似如下
awk 'NR==4' /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'
重启守护进程
systemctl restart docker.service
加入Swarm集群
docker run --name swarm_node203 -d \
swarm join --addr=192.168.150.203:2375 token://b8e4f8d7639876c340badf5a237e6457
docker run --name swarm_node202 -d \
swarm join --addr=192.168.150.202:2375 token://b8e4f8d7639876c340badf5a237e6457
验证集群
列出节点
docker run --rm swarm list token://b8e4f8d7639876c340badf5a237e6457
192.168.150.203:2375
192.168.150.202:2375
集群信息
docker -H tcp://192.168.150.201:3375 info
Containers: 8
Running: 8
Paused: 0
Stopped: 0
Images: 13
Server Version: swarm/1.2.3
Role: primary
Strategy: spread
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes: 2