Ansible-常用模块(二)
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.ansible setup模块
模块的内容:Ansible的setup模块是一个特殊的模块,它可以收集有关远程主机的各种信息,并将其存储在Ansible变量中。这些变量可以在后续任务中使用,以便更好地管理和配置远程主机。
setup模块可以收集的信息包括:
系统信息,如操作系统类型、版本、主机名、内核版本等。
硬件信息,如CPU型号、内存大小、磁盘容量等。
网络信息,如IP地址、MAC地址、网卡信息等。
软件信息,如已安装的软件包、服务状态等。
使用setup模块可以方便地了解远程主机的状态和配置,从而更好地管理和维护它们。
例子:
#1.利用setup模块,查询ansible_python_version信息
[root@localhost ansible]# ansible localhost -m setup | grep ansible_python_version "ansible_python_version": "2.7.5",
#2.查看setup收集的全部信息
[root@localhost ansible]# ansible 192.168.235.147 -m setup
#3.查看主机内存信息
[root@localhost ansible]# ansible 192.168.235.147 -m setup -a 'filter=ansible_*_mb'
#4.查看地接口为eth0-2的网卡信息
[root@localhost ansible]# ansible all -m setup -a 'filter=ansible_eth[0-2]'