开源运维自动化工具
Ansible的特点
基于python开发,二次开发较容易
丰富的内置模块,可以满足一切需求
管理模式简单,一条命令可以影响上千台机器
无客户端模式,底层通过ssh通信
Ansible的命令功能
ansible命令:非固化需求临时一次性操作,二次开发接口调用
ansible-doc:用于查询ansible模块文档说明
ansible-playbook:用于执行系列任务
ansible-console:提供一个交互式工具
ansible可选项
-V:输出详细的执行过程信息,可以得到执行过程所有信息
-i:指定inventory信息,默认为etc/consible/hosts
-f:并发线程数,默认为5个线程
--perivate-key=PRIVATE_KEY_FILE:指定密钥文件
-m:执行使用时的模块
-M:指定模块存放路径,默认为/usr/share/ansible也可以通过ANSIBLE_LIBRARY设定默认路径
-a:指定模块参数
-U:指定远程主机以USERNAME运行命令
-I:限制主机运行
--list-hosts:列出符合条件的主机列表不执行任何命令
Ansible模块
command模块
在远程主机执行命令,不支持管道,重定向等shell特性
shell模块
在远程主机执行命令,相当于调用远程主机的shell进程
copy模块
用于复制指定主机文件致远程主机的指定位置
hostname模块
管理远程主机上的主机名
yum模块
基于yum机制,对远程主机管理程序包
service模块
用来管理远程主机上的服务模块
user模块
用于管理远程主机上的用户账号
使用者和Ansible交互方式
CMDB PUBLIC|PRIVATE Ad-Hoc命令集
Ansible工具集模块
lnventory modules plugins和Apl