青蛙学Linux—Ansible的ad-hoc模式和常用模块

在上一篇文章中介绍过,Ansible通过调用特定的模块来执行特定的任务,所以模块对于Ansible来说是非常重要的。这里我们通过Ansible的ad-hoc模式来介绍Ansible的常用模块。

1、ad-hoc模式

Ansible主要通过ad-hoc和playbook两种模式来执行任务。ad-hoc通过Ansible提供的ansible命令一次执行一个任务。

ad-hoc的常用选项如下:

  • -m:指定执行任务要调用的模块,如果不指定默认使用command模块
  • -a:指定调用模块的对应参数,模块对应的参数及用法可以使用ansible-doc –s 模块名来查看
  • -k:提示输入SSH登录密码而不是基于密钥的验证
  • -b:提升权限
  • --become-method:指定提升权限的方法,常用的有sudo和su,默认为sudo
  • --become-user:指定执行sudo或su命令时切换的用户,默认为root用户
  • -B:后台运行的超时时间
  • -C:测试一下会改变什么内容,不会真正执行
  • -f:设置线程数
  • -i:指定主机清单文件的路径,默认为/etc/absible/hosts

ad-hoc的语法如下:

ansible 主机或主机组 -m 模块 -a '模块参数' 其他ad-hoc选项

注意:主机或主机组是在主机清单中定义的部分,比如在/etc/absible/hosts中定义的主机和主机组。

2、一个例子:使用ad-hoc在远程主机上执行date命令

实验环境

在Ansible系列文章中,都使用如下的实验环境及配置。

实验环境中有以下四台运行CentOS的主机,分别为:

  • 主机A:IP地址192.168.0.110,操作系统为CentOS 7.6.1810
  • 主机B:IP地址192.168.0.88,操作系统为CentOS 7.6.1810
  • 主机C:IP地址192.168.0.106,操作系统为CentOS 6.10
  • 主机D:IP地址192.168.0.61,操作系统为CentOS 6.10

其中主机A通过YUM安装ansible做为主控端,主机B分组为centos7,主机C和主机D分组为centos6。主机清单的配置如下:

[centos7]
192.168.0.88

[centos6]
192.168.0.106
192.168.0.61

通过ad-hoc模式在centos分组的两台主机上执行date命令

猜你喜欢

转载自www.cnblogs.com/yu2006070-01/p/10163702.html