Ansible对远程服务器的实际操作实际是通过模块完成的,其工作原理如下:
1)将模块拷贝到远程服务器
2)执行模块定义的操嘴,完成对服务器的修改
3)在远程服务器中删除模块
需要说明的是,Ansible中的模块是幂等的。也就是说,多次执行相同的操作,只有第一次会起作用。这也是在编写自定义Ansible模块的需要注意的地方。
Ansible提供了大量的模块,ansible-doc命令用于在命令行查看模块列表,也可以使用该工具在命令行获取模块帮助信息
ansible-doc -l
下面命令用户获取file模块的帮助信息
ansible-doc file ansible-doc -l file
下面是一些比较基础,重要,同时也是使用频率比较高的模块
ping
ping模块是Ansible中最简单的模块,用来测试现有的SSH参数是否能够顺利连通远程服务器
ansible test -m ping
远程命令模块
command 是Ansible的默认模块,可以不指定模块名称直接运行Linux命令, 也可以显示地通过-m指定command模块
command在执行Linux命令时不能使用管道
ansible test -a ‘hostname‘ ansible test -m command -a ‘hostname‘
raw模块相当于使用SSH直接执行Linux命令,不会进入到Ansible的模块子系统中
ansible test -m raw -a ‘cat /etc/passwd|wc -l‘
shell
file
..
copy
...
user/group
...
apt
...
get_url
...
unarchive
...
git
...
stat
...
cron
...
service
...
sysctl
...
mount
...
synchronize
...
原文地址:https://www.cnblogs.com/sellsa/p/9952121.html
时间: 2024-10-09 23:12:34