Ansible的安装与部署
- 实验准备
- 主控机 ansible 172.25.10.1
- 受控机
- 一、Ansible使用的意义
- 二、Ansible的安装
- 三、构建Ansible清单
- 1.直接书写
- 2.设定受控主机的组
- 1.单层清单
- 2.嵌套清单
- 3.主机的规范化操作
- 4.指定其他清单文件
- 四.ansible 基本配置
- 1.配置文件
- 2.常用配置参数
- 五 构建用户级操作环境
实验准备
主控机 ansible 172.25.10.1
受控机
node1 172.25.10.2
node2 172.25.10.3
node3 172.25.10.4
真机 添加一个IP即可连接主控机1
一、Ansible使用的意义
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
二、Ansible的安装
添加epel源
rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm
阿里云dnf install ansible -y
ansible --viersion 查看基本信息
ansible的基本信息:
/etc/ansible/ansible.conf ##全局配置文件,默认很少修改
/etc/ansible/hosts ##全局主机清单清单文件
三、构建Ansible清单
清单就是ansible的控制主机列表
/etc/ansible/hosts 全局清单
1.直接书写


2.设定受控主机的组
ansible 清单中组名称 [-i 清单文件] --list-hosts
ansible ungrouped --list-hosts
ansible all --list-hosts1.单层清单
[list1]
172.25.10.2
[list2]
172.25.10.2
172.25.10.3
[list3]
172.25.10.4

2.嵌套清单
[westos:children]
list2
list3

ansible list1 --list-hosts
hosts (1):
172.25.10.2
ansible list2 --list-hosts
hosts(2)
172.25.10.2
172.25.10.3
ansible westos --list-hosts
hosts (3):
172.25.10.2
172.25.10.3
172.25.10.43.主机的规范化操作
通过指定主机名称或IP的范围可以简化Ansible主机清单
[list_test]
172.25.10.[2:3]
[开始:结束]
测试:

4.指定其他清单文件
vim /mnt/inventory
172.25.10.2
[ansible_test]
172.25.10.3
172.25.10.4
cd /mnt
ansible ansible_test -i inventory --list-hosts
hosts(2)
172.25.10.3
172.25.10.4
ansible ungrouped -i inventory --list-hosts
hosts(1)
172.25.10.2四.ansible 基本配置
1.配置文件
/etc/ansible/ansible.cfg #基本配置文件,找不到其他配置文件此文件生效
~/.ansible.cfg #用户当前目录中没有ansible.cfg此文件生效
./ansible.cfg #优先级最高
2.常用配置参数
> default ##基本信息设定
> inventory= ##指定清单路径
> remote_user= ##在受管主机上登陆的用户名称,未指定使用当前用户
> ask_pass= ##是否提示输入SSH密码,如果公钥登陆设定为false
> library= ##库文件存放目录
> local_tmp= ##本机临时命令执行目录
> remote_tmp= ##远程主机临时py命令文件存放目录
> forks= ##默认并发数量
> host_key_checking= ##第一次连接受管主机时是否要输入yes建立host_key
> sudo_user= ##默认sudo用户
> ask_sudo_pass= ##每次在受控主机执行ansible命令时是否询问sudo密码
> module_name= ##默认模块,默认使用command,可以修改为shell
> log_path= ##日志文件路径
> [privilege_escalation] ##身份信息设定
> become= ##连接后是否自动切换用户
> become_method= ##设定切换用户的方式,通常用sudo
> become_user= ##在受管主机中切换到的用户,通常为root
> become_ask_pass ##是否需要为become_method提示输入密码,默认为false五 构建用户级操作环境
[westos@localhost ~]$ vim ansible.cfg

- 添加IP 172.25.10.254 真机可连接主控机与受控机 ↩︎
















