Ansible-galaxy轻松批量安装docker&docker-compose环境
ansible相信大家都用过,或者了解过,使用ansible可以大大节省我们批量任务执行的繁琐工作,
并且ansible是无agent端工具,安装简单,使用方便,话不多说,下面给大家演示下ansible批量安装docker&docker-compose环境。
ansible安装及主机添加步骤省略,yum安装或源码安装都是没有问题,hosts配置文件中添加对应需要安装环境的主机群组,分发公钥即可。
不会的话,自行百度即可,使用ansible 'group_name' -m ping 即可检查主机群组是否添加成功。
'ping' , 'pong'有响应说明群组添加嚒有问题,这当然也不是重点,重点在接下来的ansible-galaxy命令,相信ansible用过的人很多,
但是里面的好多命令却没有几个认真去看过,大佬除外哈0.0 。对于刚开始用ansible对我们来说,能达到我们一般需求就已经很满足了,没有必要把这个东西深挖。
ansible-galaxy这个命令其实不需要怎么使用,百度ansible galaxy官网即可看到,然后在search里搜索docker,即可看到有相关大神写好的安装脚本。
点击进入即可看到下安装命令,直接复制后在ansible服务进行下载即可。需要注意的一点是下载之后你的文件的存储目录是/root/.ansible/roles目录
需要将下载文件移动至/etc/ansible/roles目录中,当然如果你是rpm安装的话,转移至你的ansible安装目录下的roles目录即可
如图:
目录结构大致如下,如需详细了解自行百度 ansible-playbook 目录结构:
角色期望文件位于某些目录名称中。角色必须至少包含其中一个目录,但是排除任何未使用的目录是完全正确的。在使用时,每个目录必须包含一个main.yml文件,其中包含相关内容:
- site:是ansible的统一入口,就行调用的安装服务总配置
- webservers.yaml:主要是对ansible里一些能做功能,yum等
- roles:角色目录
- common:公共的roles目录
- nginx:角色的软件目录
- tasks:包含角色要执行的主要任务列表
- handlers:包含处理程序,可以由此角色使用,甚至可以在此角色之外的任何位置使用
- defaults:角色默认的变量
- vars:角色其他的变量
- files:包含可以通过此角色部署的文件
- templates:包含可以通过此角色部署的模板
- meta:角色定义的一些元数据
接下来通过ansible运行playbook.yml文件即可进行批量安装。
安装时即可定义docker-compose版本号,以及需要安装的服务器组名称,其他配置根据需要自行修改
修改完成后 cd /etc/ansible/roles/geerlingguy.docker/molecule/default
执行 ansible-playbook playbook.yml
通过ansible 命令查看docker安装版本,确认是否完成安装
至此,安装完毕。。。