Ansible-常用模块

家乐福的搬砖日常 / 2023-05-11 / 原文

Ansible命令格式

ansible 清单 -m 模块 -a 模块参数

常用参数

–version:显示版本
-m module:指定模块,默认为command模块
-v:显示详细过程 -vv -vvv更详细过程
–list:显示主机列表,也可以用–list-hosts
-k:提示输入ssh连接密码,默认key认证
-C:预执行检测
-T:执行命令超时时间,默认为10s
-u:指定远程执行的用户
-b:执行sudo切换身份操作
-become-user=USERNAME:指定sudo的用户
-K:提示输入sudo密码
-a MODULE_ARGS   #模块的参数,如果执行默认COMMAND的模块,即是命令参数,如: “date”,“pwd”等等

ansible的执行颜色:绿色:执行成功但对远程主机做任何改变。黄色:执行成功并对远程主机作改变。红色:执行失败

1.ping模块

ping 模块,这个很好理解,跟我们常用的 ping 命令是一样的,用来检测与目标主机的连通性

[root@master ~]# ansible 192.168.142.45 -m ping
192.168.142.45 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
[root@master ~]# ansible -m ping all
192.168.142.45 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}
192.168.142.51 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python"
    }, 
    "changed": false, 
    "ping": "pong"
}

如果能够 ping 通,那么结果字体是显示绿色,反之黄色

2.command模块

这个是默认模块,我们敲命令的时候可以省略,在后面写上我们要执行的命令

例如我想查看一下目标主机home目录下的详细信息

[root@master ~]# ansible 192.168.142.51 -m command -a "ls -l /home"
192.168.142.51 | CHANGED | rc=0 >>
总用量 4
-rw-r--r--   1 root     root        0 5月   4 23:18 ansible
drwx------. 15 xiaoming xiaoming 4096 5月  10 19:42 xiaoming
[root@master ~]# ansible 192.168.142.51  -a "ls -l /home"
192.168.142.51 | CHANGED | rc=0 >>
总用量 4
-rw-r--r--   1 root     root        0 5月   4 23:18 ansible
drwx------. 15 xiaoming xiaoming 4096 5月  10 19:42 xiaoming
#这里不能用别名 ll 
又或者我想在目标主机上添加用户 xianyu
ansible 192.168.244.135 -a "useradd xianyu"