跳转至

Docker Swarm集群


2016-07-21 by dongnan

注意,随着 k8s 成为容器编排事实上的标准, Docker公司的编排项目 composeswarm 容器集群服务逐渐边缘化, 容器应用编排与容器集群管理推荐使用 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



回到页面顶部