ansible特点:
模块化:调用特定的模块,完成特点的任务;
基于python语言开发,由paramiko、pyYAML和jinja2三个模块
部署简单:agentless 无客户端
支持自定义模块
支持playbook
幂等性 允许重复执行
一、安装
yum install ansible
/etc/ansible/ansible.cfg 主配置文件
/etc/ansible/hosts 主机列表
ansible 管理主机的两种方式:
1.通过将ansible主机秘钥分发在被管理主机,实现免密登录
2.或者在/etc/ansible/hosts配置主机列表中配置连接信息
二、简单应用
ansible通过ssh实现配置管理、应用部署、任务执行等功能,因此,需要实现配置
ansible端能基于秘钥认证的方式联系各被管理的节点
ansible <host-pattern> [-f forks] [-m module_name] [-a args] -m module: 默认command ansible-doc: show ansible module documentation -l, --list List available modules -s, --snippet show playbook snippet for specified module(s)
说明:
host-pattern: 指明要管理的主机
-f forks 表示一次执行多少台机器
-m 调用什么模块 默认command
[root@master ~] # ansible-doc -l // 显示ansible的模块 [root@master ~] # ansible-doc -s command // 显示ansible command模块的用法 [root@master ~] # ansible 10.0.2.167 -m command -a 'ip a' // 在167主机上远程执行查看ip命令 [root@master ~] # ansible all -m command -a 'ip a' // 在所有主机上执行查看ip命令 [root@master ~] # ansible all -a 'ip a' 省略写法
[root@master ~] # ansible all -a 'ls' --list-hosts 显示主机列表
[root@master ~] # ansible all -a 'ls' -v 查看版本
[root@master ~] # ansible test123 -a 'ls' 指定分组
[root@master ~] #