ansible是一个目前来说比较普及的一个自动化运维工具了。该工具入门容易,能够使用好比较困难。适用场景通常为需要大批量操作的同一类动作通过ansible简化,也就是说ansible是有服务器管理功能的一个强大工具。
随着微服务这样的新概念兴起,docker作为引领微服务的领头羊,自然是热度大增,因此,我们很多时候可能都需要有一个基础的docker环境,在很多服务器上同时安装部署docker环境还是比较麻烦的,ansible刚好能够解决这样的困扰。
链接:https://pan.baidu.com/s/1l_6A4iqMMDxl5ZlDOmhikw
提取码:ansi
1.1Ansible介绍
Ansible 是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible 适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible 也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。
具备以下三个特点:
- 简单:减少学习成本
- 强大:协调应用程序生命周期
- 无代理:可预测,可靠和安全
- Inventory:Ansible管理的主机信息,包括IP地址、SSH端口、账号、密码等
- Modules:任务均有模块完成,也可以自定义模块,例如经常用的脚本。
- Plugins:使用插件增加Ansible核心功能,自身提供了很多插件,也可以自定义插件。例如connection插件,用于连接目标主机。
- Playbooks:“剧本”,模块化定义一系列任务,供外部统一调用。Ansible核心功能。
1.2安装环境介绍
软件环境:
服务器整体规划:
1.3ansible部署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目录下。