简介
Ansible 是一个开源的基于 OpenSSH 的自动化配置管理工具。可以用它来配置系统、部署软件和编排更高级的 IT 任务,比如持续部署或零停机更新。Ansible 的主要目标是简单和易用,并且它还高度关注安全性和可靠性。基于这样的目标,Ansible 适用于开发人员、系统管理员、发布工程师、IT 经理,以及介于两者之间的所有人。Ansible 适合管理几乎所有的环境,从拥有少数实例的小型环境到有数千个实例的企业环境。
使用 Ansible 无须在被管理的机器上安装代理,所以不存在如何升级远程守护进程的问题,也不存在由于卸载了守护进程而无法管理系统的问题。
使用 Ansible 无须在被管理的客户端电脑上安装代理之类的组件。它通过普通的 SSH 进行通信,以便从远程计算机检索信息、发出命令和复制文件。这是 Ansible 简化服务器管理的一种方式。任何公开 SSH 端口的服务器都可以通过 Ansible 进行配置和管理。
Ansible 采用模块化的设计,所以非常容易扩展到各种特定的使用场景。模块可以用任何语言编写,并使用标准 JSON 进行通信。Ansible 的配置文件是用 YAML 格式编写的,因为它使用起来非常简单,并且与主流的标记语言很相似。除了通过命令行工具 Ansible 还可以通过配置脚本(Playbooks)与客户端交互。
安装
先查看可安装的 ansible 版本。
[root@lanyulei-1 ~]# yum list|grep ansible
ansible.noarch 2.9.21-1.el7 @epel
ansible-doc.noarch 2.9.21-1.el7 epel
ansible-inventory-grapher.noarch 2.4.4-1.el7 epel
ansible-lint.noarch 3.5.1-1.el7 epel
ansible-openstack-modules.noarch 0-20140902git79d751a.el7 epel
ansible-python3.noarch 2.9.21-1.el7 epel
ansible-review.noarch 0.13.4-1.el7 epel
ansible-test.noarch 2.9.21-1.el7 epel
有时候系统提供的系统版本有点低,可通过安装 epel 源,来提高 ansible 可安装的版本。
yum -y install epel-release
安装完后 /etc/yum.repos.d/ 下会多出来两个yum库 epel.repo epel-testing.repo
[root@lanyulei-1 yum.repos.d]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo epel.repo epel-testing.repo
查看 ansible 可安装的版本。
[root@lanyulei-1 yum.repos.d]# yum list ansible
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* epel: mirrors.bfsu.edu.cn
* extras: mirrors.huaweicloud.com
* updates: mirrors.bfsu.edu.cn
Installed Packages
ansible.noarch 2.9.21-1.el7 @epel
安装 ansible
yum -y install ansible
查看 ansible 版本
[root@lanyulei-1 yum.repos.d]# ansible --version
ansible 2.9.21
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr 11 2018, 07:36:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
查看 ansible 安装后生成的目录及文件
rpm -ql ansible
该命令输出内容较多,大致分为如下几类:
- 配置文件目录:/etc/ansible/(ansible.cfg、hosts、roles)
- 执行文件目录:/usr/bin
- lib库依赖目录:/usr/lib/python2.7/site-packages/ansible
- ansible插件目录:/usr/share/ansible/plugins
- help文档目录:/usr/share/doc/ansible-2.9.21
- man文档目录:/usr/share/man/man1