ansible是一个目前来说比较普及的一个自动化运维工具了。该工具入门容易,能够使用好比较困难。适用场景通常为需要大批量操作的同一类动作通过ansible简化,也就是说ansible是有服务器管理功能的一个强大工具。
随着微服务这样的新概念兴起,docker作为引领微服务的领头羊,自然是热度大增,因此,我们很多时候可能都需要有一个基础的docker环境,在很多服务器上同时安装部署docker环境还是比较麻烦的,ansible刚好能够解决这样的困扰。
链接:https://pan.baidu.com/s/1l_6A4iqMMDxl5ZlDOmhikw
提取码:ansi
1.1
Ansible介绍
Ansible 是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible 适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible 也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。
具备以下三个特点:
- 简单:减少学习成本
- 强大:协调应用程序生命周期
- 无代理:可预测,可靠和安全
- Inventory:Ansible管理的主机信息,包括IP地址、SSH端口、账号、密码等
- Modules:任务均有模块完成,也可以自定义模块,例如经常用的脚本。
- Plugins:使用插件增加Ansible核心功能,自身提供了很多插件,也可以自定义插件。例如connection插件,用于连接目标主机。
- Playbooks:“剧本”,模块化定义一系列任务,供外部统一调用。Ansible核心功能。
1.2
安装环境介绍
软件环境:
软件 | 版本 |
操作系统 | CentOS Linux release 7.4.1708 (Core) |
上面的百度网盘文件 | ansible安装文件---ansible_offline.tar.gz ansible部署脚本---ansible-devop-docker docker-ce二进制安装包---docker-20.10.5.tgz |
服务器整体规划:
角色 | IP | 环境说明 |
安装ansible环境,也在这个服务器上部署docker环境 | 192.168.0.16 | 通过离线ansible_offline.tar.gz安装包安装ansible,安装时间服务器,与其余两台服务器 免密登录(如何免密请百度),关闭防火墙和selinux |
通过ansible部署docker环境 | 192.168.0.17 | 与其它服务器免密登录,关闭防火墙和selinux |
通过ansible部署docker环境 | 192.168.0.18 | 与其余两台服务器免密登录,关闭防火墙和selinux |
1.3
ansible部署docker环境的说明
1.
本安装包使用前需要先安装ansible离线包,
名称为ansible_offline.tar.gz ,
此文件解压后,执行命令:rpm -ivh * 即可安装完成ansible。
如有安装失败的情况,通常是由于缺少依赖的原因。
rpm -ivh ansible-2.9.18-1.el7.noarch.rpm
通过以上命令查看缺少的依赖并通过yum补充完毕即可,
在次执行rpm -ivh ansible-2.9.18-1.el7.noarch.rpm直到成功为止。
2.
解压ansible-devop-docker.tar.gz此tar包后,进入解压后的目录,
部署命令为:ansible-playbook -i hosts multi-deploy-docker.yaml
执行部署命令前,需要先修改 hosts文件,
将需要部署docker的服务器ip写入hosts 和roles/docker/files/daemon.json
这个json文件,或者写入你的私有仓库地址,或者将中文那行删除。
特别注意一点,ansible需要配置ssh免密,具体方法不在此赘述,百度即可。
docker 二进制文件存放路径请写在在group_vars目录下的all.yml 文件内,
如果有需要更改存放路径的话。本例是放置在root目录下。