一、ansible简介
- (1)简介:
- Ansible是近年越来越火的一款自动化运维工具,其主要的功能是帮助运维实现IT工作的自动化,降低人为操作失误、提高业务自动化率,常用于软件部署、配置自动化、管理自动化、系统化系统任务、持续集成、零宕机平滑升级等。
- (2)特点:
- 1 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;
- 2 默认使用SSH协议对设备进行管理;
- 3有大量常规运维操作模块,可实现日常绝大部分操作;
- 4配置简单、轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可
二、ansible软件安装
- (1)软件依赖包
- paramiko、 PyYAML、Jinja2、httplib2、 six
- (2)安装方式
- git安装:git clone git://github.com/ansible/ansible.git
- python工具安装
- yum install python-setuptools python-devel
- python setup.py build
- python setup.py install
- (3)安装完成测试
- ansible --version
三、ansible.cfg配置文件的配置
- Ansible默认安装好后有一个配置文件/etc/ansible/ansible.cfg,该配置文件中定义了ansible的主机的默认配置部分,如默认是否需要输入密码、是否开启sudo认证、action_plugins插件的位置、hosts主机组的位置、是否开启log功能、默认端口、key文件位置等等。在实际应用中,主要对default模块、become模块进行配置。
- (1)default模块
- (2)became模块
四、Inventory文件配置
- (1)简介
- Inventory是ansible管理主机的配置文件,相当于系统hosts文件的功能。该文件没有特别的命名和路径要求。可以自定义配置文件,然后通过-i选项指定读取;ansible也默认先读取当前目录下的hosts文件。
- (2)配置方式
- 1)定义主机和组
- 可以是IP,也可以是hostname的方式,如果端口不是默认的,也可以在这里指定
- 2)定义主机变量
- hosts文件可以单单对某个主机进行变量定义
- 3)定义组变量
- 大量机器的变量定义需求,赋予指定组内所有主机在Playbook中可用的变量,等同与逐一给该组下的所有主机赋予统一变量。
小结
- 1、Inventory文件的常做的配置主要是定义主机和组、定义组变量。定义主机和组,可以填写IP,也可以写主机名(前提是已经做了主机名解析),同时如果需要定义端口,可以直接在IP或主机名后面直接添加对应的端口。
- 2、组变量定义,在ansible-playbook中常用,就是将同一组的相同变量通过定义,实现统一传值。