搭建docker swarm集群
- 每个节点上安装docker环境
- 增加docker 的yum repository
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装
yum -y install docker-ce
3.启动服务并检验
service docker start
docker -v
- 检查/var磁盘大小
df -h
如果/var磁盘空间较小如默认5G, 把/var/lib/docker目录移到磁盘空间大的目录,并在/var/lib下创建软链接
- 每个节点上安装docker swarm环境
- 下载docker-compose
curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- 修改执行权限
sudo chmod +x /usr/local/bin/docker-compose
- 启动docker-compose
docker-compose
- 搭建集群
- 主节点机器上运行
docker swarm init
会返回一个节点加进集群的token和相应命令
- 从节点机器上运行
docker swarm join --token SWMTKN-1-3vxx7du928j86kj9aro7k72go08u3b6swlupdj2s50cm30hkyq-4fu7u20cw
- 检查是否成功
docker node ls
应该返回类似如下结果:
[图片上传失败...(image-fe4ca4-1548405518773)]
- 利用portainer管理集群
- 部署portainer服务
docker service create --name portainer --publish 9000:9000 --constraint 'node.role == manager' --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock portainer/portainer -H unix:///var/run/docker.sock
- 部署portainer-agent服务
在manager node上创建overlay网络
docker network create -d overlay portainer_agent
在portainer界面中使用如下配置文件新增stack
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
ports:
- target: 9001
published: 9001
protocol: tcp
mode: host
networks:
- portainer_agent
deploy:
mode: global
placement:
constraints: [node.platform.os == linux]
networks:
portainer_agent:
driver: overlay
attachable: true
- 创建endpoint
[图片上传失败...(image-218704-1548405518773)]
- 部署应用服务
在manager node上创建overlay网络
docker network create -d overlay appname_net
网友评论