ansible-playbook部署Docker Swarm集群

本文介绍如何利用ansible-playbook自动化部署Docker Swarm集群,包括集群的初始化、管理节点和工作节点的添加,以及scope配置和安装测试的过程。
摘要由CSDN通过智能技术生成

通过ansible-playbook,部署Docker Swarm集群。

docker安装目录:  /var/lib/docker

docker命令目录: /usr/bin/docker

compose命令目录: /usr/local/bin/docker-compose

weavescope: docker可视化管理工具

scope命令目录: /usr/local/bin/scope
role ip hostname
manager/scope 192.168.1.51 manager1
manager/scope 192.168.1.52 manager2
worker/scope 192.168.1.53 worker1
worker/scope 192.168.1.54 worker2
worker/scope 192.168.1.55 worker3
worker/scope 192.168.1.56 worker4
worker/scope 192.168.1.57 worker5

准备

  • 将所有部署swarm集群的主机分组:
# vim /etc/ansible/hosts

[manager]
192.168.1.51 hostname=manager1

[add_manager]
192.168.1.52 hostname=manager2

[add_worker]
192.168.1.53 hostname=worker1
192.168.1.54 hostname=worker2
192.168.1.55 hostname=worker3
192.168.1.56 hostname=worker4
192.168.1.57 hostname=worker5
  • 创建管理目录:
# mkdir -p swarm/roles/{docker_install,init_install,manager_install,worker_install,scope_install}/{files,handlers,meta,tasks,templates,vars}

# cd swarm/

说明:

files:存放需要同步到异地服务器的源码文件及配置文件; 
handlers:当资源发生变化时需要进行的操作,若没有此目录可以不建或为空; 
meta:存放说明信息、说明角色依赖等信息,可留空; 
tasks:Docker Swarm 安装过程中需要进行执行的任务; 
templates:用于执行 Docker Swarm 安装的模板文件,一般为脚本; 
vars:本次安装定义的变量
# tree .

.
├── roles
│   ├── docker_install
│   │   ├── files
│   │   ├── handlers
│   │   ├── meta
│   │   ├── tasks
│   │   │   ├── install.yml
│   │   │   ├── main.yml
│   │   │   └── prepare.yml
│   │   ├── templates
│   │   └── vars
│   │       └── main.yml
│   ├── init_install
│   │   ├── files
│   │   ├── handlers
│   │   ├── meta
│   │   ├── tasks
│   │   │   ├── install.yml
│   │   │   └── main.yml
│   │   ├── templates
│   │   └── vars
│   ├── manager_install
│   │   ├── files
│   │   ├── handlers
│   │   ├── meta
│   │   ├── tasks
│   │   │   ├── install.yml
│   │   │   └── main.yml
│   │   ├── templates
│   │   └── vars
│   ├── scope_install
│   │   ├── files
│   │   ├── handlers
│   │   ├── meta
│   │   ├── tasks
│   │   │   ├── install.yml
│   │   │   └── main.yml
│   │   ├── templates
│   │   └── vars
│   └── worker_install
│       ├── files
│       ├── handlers
│       ├── meta
│       ├── tasks
│       │   ├── install.yml
│       │   └── main.yml
│       ├── templates
│       └── vars
└── swarm.yml

36 directories, 13 files
  • 创建安装入口文件,用来调用roles:
# vim swarm.yml

---
- hosts: all
  remote_user: root
  gather_facts: True

  roles:
    - docker_install

- hosts: manager
  remote_user: root
  gather_facts: True

  roles:
    - init_install

- hosts: add_manager
  remote_user: root
  gather_facts: True

  roles:
    - manager_install

- hosts: add_worker
  remote_user: root
  gather_facts: True

  roles:
    - worker_install

- hosts: all
  remote_user: root
  gather_facts: True

  roles:
    - scope_install

docker部分

  • 创建docker入口文件,用来调用docker_install:
# vim docker.yml

#用于批量安装Docker
- hosts: all
  remote_user: root
  gather_facts: True

  roles:
    - docker_install
  • 创建变量:
# vim roles/d
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值