ansible常用模块
一、文件的收发、解压、修改、删除
copy模块:将文件从ansible端(以下简称源端)发送到受控主机。缺点:当小文件多时,复制比较慢。
unarchive模块:将压缩文件(支持.zip和.tar.gz等格式)从源端发送到受控主机,解压后删除原来的文件。适合小文件特别多的场景。
fetch模块:从受控主机取文件到源端。
template模块:接收源端jinja2模块,生成对应文件后,发送到受控主机上。
file模块:受控主机上的文件修改权限、删除、整体修改文件内容、建软链接等。
lineinfile模块:根据regexp规则,修改受控主机上某一行内容。
blockinfile模块:根据段头尾的标记,修改受控主机上某一行内容。
二、执行命令
shell模块:执行linux命令,带环境变量。可以使用管道和重定向功能。
command模块:执行linux命令,不支持管道等功能。ansible命令没有-m指定模块时默认使用command。
raw模块:网络设备执行命令的模块。
三、软件安装与服务启停
yum模块:redhat系列主机的程序安装,支持在线yum源和离线rpm包的安装。
dnf模块:redhat系列主机的程序安装,与yum类似。
apt模块:ubuntu系列主机的程序安装。
service模块:服务的启停、设置自启动等。
systemd模块:控制远程主机的systemd服务,和service类似。
reboot模块:在Linux平台上机器软重启。
四、用户、组和认证
user模块:用户的新建、删除、修改所属组等。
group模块:组的新建、删除等。
known_hosts模块:用于known_hosts文件中添加和删除主机密钥。
authorized_key模块:为各个帐号添加和删除ssh授权密钥。
五、网络与防火墙配置
nmcli模块:网卡的配置。
firewalld模块:添加端口、协议等功能。
六、定时任务
at模块:计划将来的一次性任务。
cron模块:计划定时任务。
七、LVM存储配置
lvg模块:关于vg卷组的配置,比如创建、添加、删除等。
vlol模块:关于lv逻辑卷的配置,比如:创建、扩容、删除等。
parted模块:块设备的分区。
filesystem模块:磁盘格式化,支持创建文件系统和调整文件系统大小。
mount模块:支持在/etc/fstab上配置挂载点。
八、功能调试
debug模块:调试模块。
uri模块:测试http网络接口。
script模块:在受管主机上执行脚本(如果返回结果不为0,则失败)。
stat模块:测试文件状态。
fail模块:失败判断。
assert模块:断言(断定条件的值为真)。