Linux自动化运维工程师--(6)Ansible中的常用模块

Linux自动化运维工程师
实验所用系统为Redhat

Linux自动化运维工程师–Ansible中的常用模块

一、ansible实现管理的方式

Ansible 系统由控制主机对被管节点的操作方式可分为两类,即adhocplaybook

  • ad-hoc模式(点对点模式)
      使用单个模块,支持批量执行单条命令。ad-hoc 命令是一种可以快速输入的命令,而且不需要保存起来的命令。就相当于bash中的一句话shell。
  • playbook模式(剧本模式)
      是Ansible主要管理方式,也是Ansible功能强大的关键所在。playbook通过多个task集合完成一类功能,如Web服务的安装部署、数据库服务器的批量备份等。可以简单地把playbook理解为通过组合多条ad-hoc操作的配置文件。

二、Ad-Hoc执行方式中如何获得帮助

ansible-doc				##显示模块帮助的指令

格式
ansible-doc [参数] [模块...]

常用参数
-l						##列出可用模块
-s						##显示指定模块的playbook片段,简要用法

ansible-doc -l | wc -l	##列出并统计

三、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密码

实验:

ansible --version						##ansible的版本信息
ansible all -m shell -a 'hostname'		##-m 指定模块为shell,-a 模块参数为显示主机名

请添加图片描述

ansible all -m shell -a 'hostname' -v	##显示详细信息,v越多越详细

请添加图片描述

ansible all -m shell -a 'hostname' -k		##提示输入ssh连接密码,默认key认证
ansible all -m shell -a 'hostname' -u root	##指定远程执行的用户

请添加图片描述

ansible all -m shell -a 'hostname' -C	##预执行,不会真正执行,所以并不能检测命令是否正确

请添加图片描述

ansible all -m shell -a 'hostname' -k --become-user=root -K	
##-K 提示输入sudo密码 --become-user指定远程主机执行命令时会用sudo调用的用户身份

请添加图片描述

ansible all -m shell -a 'hostname' -T 2		##指定执行命令的超时时间,并不能看到效果

四、ansible的基本颜色代表信

颜色意义
绿色执行成功但未对远程主机做任何改变
黄色执行成功并对远程主机做改变
红色执行失败

五、ansible中的常用模块

1、command

功能: 在远程主机执行命令,此模块为默认模块

常用参数:
chdir		##执行命令前先进入到指定目录
cmd			##运行命令指定
creates		##如果文件存在将不运行
removes		##如果文件存在在将运行
free_form	##在远程主机中执行的命令,此参数不需要加

[注意] Linux中的很多通配符在command模块中不支持

实验:

ansible all -m command -a 'chdir=/mnt touch file1 file2'	##先切换目录,载建立文件
ansible all -m command -a 'chdir=/mnt rm -rf file1 file2'	##切换目录,删除文件

请添加图片描述

ansible all -m command -a 'removes=/mnt/file1 chdir=/mnt rm -rf file1 file2'		
##removes 如果文件存在将运行

请添加图片描述

ansible all -m command -a 'creates=/mnt/file1 chdir=/mnt rm -rf file1 file2'		
##creates 如果文件存在将不运行

请添加图片描述

2、shell

功能:和command功能类似

常用参数:
chdir           ##执行命令前先进入到指定目录
cmd             ##运行命令指定
creates         ##如果文件存在将不运行
removes         ##如果文件存在在将运行
free_form 		##在远程主机中执行的命令,此参数不需要加
executable		##指定执行环境,默认为sh

实验:
因为很多通配符command是不能使用的,因此可以用shell
比如ansible all -m command -a 'rm -rf /mnt/*',此时*是不被识别的,因此命令不能执行成功。
但是用shell就可以执行成功。

ansible all -m shell -a 'chdir=/mnt touch file1'
ansible all -m shell -a 'chdir=/mnt cmd="touch file1"'	##但如今不是用cmd命令也可以,因此已经很少使用

请添加图片描述

ansible all -m shell -a 'creates=/mnt/file1 chdir=/mnt touch file1'		##文件存在则不运行
ansible all -m shell -a 'removes=/mnt/file1 chdir=/mnt touch file1'		##文件存在则运行

请添加图片描述

ansible all -m shell -a 'ps ax | grep $$'						##过滤当前进程名称,默认环境使用/bin/sh
ansible all -m shell -a 'executable=/bin/bash ps ax | grep $$'	##指定执行环境为/bin/bash

请添加图片描述

3、script

功能:在ansible主机中写好的脚本在受控主机中执行
实验:
切入到yun用户的ansible目录中,编写一个脚本,通过script命令使其在受控主机westosb中运行。

su - yun
cd /home/yun/ansible
///
#!/bin/bash
echo $HOSTNAME
///
ansible westos -m script -a "test.sh"

请添加图片描述

4、copy

功能:从ansible主机复制文件到受控主机

常用参数
src			##源文件
dest		##目的地文件
owner		##指定目的地文件所有人
group
mode		##指定目的地文件权限
backup=yes	##当受控主机中存在文件时备份原文件
content		##指定文本内容直接在受控主机中生成文件

实验:
删除受控主机westosb的/mnt的所有内容,在westosa主机中,切入到yun用户的ansible目录中,复制上一个实验的test.sh文件,以所有人westos,权限775,到被控主机的/mnt中,同时备份。

###westosb
rm -rf /mnt/*
###westosa
su - yun
cd /home/yun/ansible
ansible 172.25.254.214 -m copy -a "src=/home/yun/ansible/test.sh owner=westos mode=755 dest=/mnt/test.sh backup=yes"
###westosb
cd /mnt
ls 		##test.sh

请添加图片描述
请添加图片描述

修改test.sh内容,重新拷贝并备份,会生成一个新的备份文件。

vim test.sh
///
#!/bin/bash
echo $HOSTNAME
echo $DATE
///
ansible 172.25.254.214 -m copy -a "src=/home/yun/ansible/test.sh  mode=755 dest=/mnt/test.sh backup=yes"

请添加图片描述请添加图片描述

拷贝一个指定内容的新文件。

ansible 172.25.254.214 -m copy -a 'content="hello westos" dest=/mnt/westos backup=yes'

请添加图片描述
请添加图片描述

5、fetch

功能:从受控主机把文件复制到ansible主机,但不支持目录

常用参数
src			##受控主机的源文件
dest		##本机目录
flat		##基本名称功能

实验:
在主控机westosa中复制受控主机的文件到本机中,此时,文件的目录格式也是被复制的。

###westosa
su - yun
cd /home/yun/ansible
ansible 172.25.254.214 -m fetch -a 'src=/etc/sysconfig/network-scripts/ifcfg-westosb dest=/home/yun/ansible'
ls	##文件所属目录也被复制

请添加图片描述
如果只复制文件的话,则需要在dest后指定文件名称。

ansible 172.25.254.214 -m fetch -a 'src=/etc/sysconfig/network-scripts/ifcfg-westosb dest=/home/yun/ansible/ifcfg-westosb flat=yes'	
##必须指定文件名称
ls 							
##只有文件被复制

请添加图片描述

[注意] yun用户要对dest后跟的目录可写

6、file

功能:设置文件的属性

常用参数:
path		##指定文件名称
state		##指定操作状态
		##touch			建立
		##absent		删除
		##directory 	递归
		##link			建立软链接
		#hard			硬链接
mode		##设定权限
owner		##设定文件用户
group		##设定文件组
src			##源文件
dest		##目标文件
recurse=yes	##递归更改	

实验:
在主控机westosa中远程控制在受控主机westosb中新建文件。

ansible 172.25.254.214 -m file -a 'path=/mnt/westosfile state=touch'		##生成文件

请添加图片描述
请添加图片描述
在主控机westosa中远程控制在受控主机westosb中新建目录。

ansible 172.25.254.214 -m file -a 'path=/mnt/westosdir state=directory'	##生成目录

请添加图片描述请添加图片描述

在主控机westosa中远程控制在受控主机westosb中修改文件的所有人。

ansible 172.25.254.214 -m file -a 'path=/mnt/westosfile owner=westos'	##修改文件的所有人

请添加图片描述
请添加图片描述

在主控机westosa中远程控制在受控主机westosb中修改目录的所有组,但目录中文件并未改变。

ansible 172.25.254.214 -m file -a 'path=/mnt/westosdir group=westos'		
##修改目录的所属组,但目录中文件并未改变

请添加图片描述请添加图片描述

在主控机westosa中远程控制在受控主机westosb中修改目录及目录中文件的所属组。

ansible 172.25.254.214 -m file -a 'path=/mnt/westosdir group=devops recurse=yes'	
##修改目录及目录中文件的所属组

请添加图片描述请添加图片描述

在主控机westosa中远程控制在受控主机westosb中生成软链接和硬链接。

ansible 172.25.254.214 -m file -a 'src=/mnt/westosfile dest=/mnt/linuxfile state=link'	
##生成link软链接
ansible 172.25.254.214 -m file -a 'src=/mnt/westosfile dest=/mnt/linuxfile state=hard'	
##生成硬链接

请添加图片描述请添加图片描述请添加图片描述

在主控机westosa中远程控制在受控主机westosb中删除文件和目录。

ansible 172.25.254.214 -m file -a 'path=/mnt/linuxfile state=absent'		
##删除文件
ansible 172.25.254.214 -m file -a 'path=/mnt/westosdir state=absent'		
##删除目录

请添加图片描述
请添加图片描述

[注意] 如果inventory中只有用户172.25.254.214,则可以不用输入ip,直接引用组。

vim inventory
///
[westos]
172.25.254.214
///
ansible westos -m file -a 'path=/mnt/westosdir state=absent'		##删除目录

7、archive

功能:在主控机中控制受控主机打包压缩文件。

常用参数:
path		##打包目录名称
dest		##声称打包文件名称
format		##打包格式
owner		##指定文件所属人
mode		##指定文件权限

实验:
在主控机中控制受控主机打包压缩文件。

ansible westos -m archive -a 'path=/etc dest=/mnt/etc.tar.gz format=gz'	##压缩

请添加图片描述
请添加图片描述
在主控机中控制受控主机打包指定权限与所属人组压缩文件。

ansible westos -m archive -a 'path=/etc dest=/mnt/etc.tar.bz2 format=bz2 mode=755 owner=westos group=westos'	
##指定权限与所属人组压缩

请添加图片描述
请添加图片描述

8、unarchive

功能:解压缩,将包复制到受控主机再解压缩

常用参数:
copy		##默认为yes 从ansible主机复制文件到受控主机
			##设定为no  从受控主机中寻找src源文件
remote_src	##功能同copy且相反
			##设定为yes 表示包在受控主机
			##设定为no表示包在ansible主机
src			##包路径,可以使ansible主机也可以使受控主机
dest		##受控主机目录
mode		##加压后文件权限 <copy=yes>

实验:
在主控机本机打包一个文件,将其复制到被控主机并指定目录中并指定所有人解压缩。

tar zcf etc.tar.gz /etc
ansible westos -m unarchive -a 'src=etc.tar.gz dest=/media owner=westos'

请添加图片描述
请添加图片描述
远程解压缩。当本地没有包,压缩包在受控主机中时,则需要使用命令copy=no或者remote_src=yes

ansible westos -m unarchive -a 'src=/mnt/etc.tar.gz dest=/media owner=westos mode=755 copy=no'
ansible westos -m unarchive -a 'src=/mnt/etc.tar.gz dest=/media owner=westos mode=755 remote_src=yes'

###westosb
ls -l /media

请添加图片描述
请添加图片描述
请添加图片描述

9、hostname

功能:管理主机名称

ansible westos -m hostname -a 'name=westosbb.westos.org'

###westosb
hostname

请添加图片描述
请添加图片描述

10、cron

功能:计划任务

常用参数:
minute		##分钟
hour		##小时
day			##天
month		##月
weekday		##周
name		##任务名称
job			##任务脚本或命令
disabled	##yes 禁用计划任务
			##no  启动计划任务
state		##absent 删除计划任务

实验:
在主控机中控制被控主机生成一个定时任务。

ansible westos -m cron -a 'job="echo hello westos" name=test minute=*/2'

###westosb
crontab -l

请添加图片描述请添加图片描述

在主控机中控制被控主机禁止该定时任务。

ansible westos -m cron -a 'job="echo hello westos" name=test minute=*/2 disabled=yes'	##禁止任务

###westosb
crontab -l 	##注释

请添加图片描述请添加图片描述

在主控机中控制被控主机重新开启该定时任务。

ansible westos -m cron -a 'job="echo hello westos" name=test minute=*/2 disabled=no'	##重新开启

###westosb
crontab -l 	##删除注释符

请添加图片描述请添加图片描述

在主控机中控制被控主机删除该定时任务。

ansible westos -m cron -a 'job="echo hello westos" name=test minute=*/2 state=absent'	##删除任务

###westosb
crontab -l 

请添加图片描述
请添加图片描述

11、yum_repositor

功能:配置系统软件仓库源文件

常用参数:
name		##指定仓库名称
baseurl		##指定源路径
description	##指定仓库描述
file		##指定仓库文件名称
enabled		##仓库是否启用
gpgcheck	##仓库是否检测gpgkey
state		##默认值present 建立
			#absent	为删除

实验:
在主控机westosa控制受控机生成软件仓库源文件,前提是真机的网络软件可用,首先要删除westosb主机中的软件仓库配置文件westos.repo。

ansible westos -m yum_repository -a 'file=westos name=AppStream description=AppStream baseurl=http://172.25.254.14/westos/AppStream enabled=yes gpgcheck=no state=present'	
##repo会自动补齐
ansible westos -m yum_repository -a 'file=westos name=BaseOS description=BaseOS baseurl=http://172.25.254.14/westos/BaseOS enabled=yes gpgcheck=no state=present'	
##repo会自动补齐

请添加图片描述
请添加图片描述

12、dnf

功能:管理系统中的dnf仓库及管理软件

常用参数
name				##指定包
state				##指定动作
		#present	安装
		#latest		更新
		#absent		删除
list				##列出指定信息
		# httpd	
		# installed
		# available
disable_gpg_check	#禁用gpgkey检测
enablerepo			##指定安装包来源
disablerepo				##禁用安装包来源

实验:
在主控机westosa中控制受控主机westosb安装软件。如果同时安装多个,则使用“,”隔开。安装成功后可以在受控主机westosb上使用rpm命令查看。

ansible westos -m dnf -a 'name="httpd,php" state=present'		##安装软件,多个用","隔开
###westosb
rpm -qa | grep httpd
rpm -qa | grep php

请添加图片描述
请添加图片描述
卸载软件只需将state的值改变即可。

ansible westos -m dnf -a 'name="httpd,php" state=absent'			##卸载软件
ansible westos -m dnf -a 'name="httpd" state=absent autoremove=no'	##不卸载依赖性,只卸载软件

请添加图片描述
请添加图片描述
请添加图片描述
当受控主机westosb的软件仓库配置文件出现问题时,主控机则不能安装软件。模拟问题:设定gpgcheck=1,此时无法安装软件,需要跳过gpg授权检测。

###westosb
westos.repo
///
gpgcheck=1
///
ansible westos -m dnf -a 'name="httpd" state=present disable_gpg_check=yes'	##禁用grpcheck安装

请添加图片描述
模拟问题:如果软件在安装时报错AppStream安装包出问题,则禁用该安装包进行安装。但有些软件是必须使用该软件安装包的,那是只能对其进行修复或者重新安装该源。

ansible westos -m dnf -a 'name="httpd" state=present disablerepo="AppStream"'	##禁用该安装包来源

请添加图片描述

可以列出服务或者软件的信息。
请添加图片描述

13、service

常用参数:
name		##指定服务名称
state		##指定对服务的动作
		#started
		#stoped
		#restarted
		#reloaded
enabled		##设定服务开机是否启动
		#yes开启启动
		#no开机不启动

实验:
先通过主控机在受控主机上安装http,然后开启服务。
请添加图片描述
请添加图片描述
但此时在浏览器并不能访问到214主机,因为火墙不允许。
请添加图片描述
因此需要对火墙进行设定。

14、firewalld

常用参数;
zone				##火墙的域
service				##服务名称
permanent			##永久生效
state		
  enabled		##允许
  disabled		##拒绝
immediate			##立即生效

实验:
在主控机远程对受控主机进行火墙策略的设定,此时可以在受控主机westosb中看到设定成功。

ansible westos -m firewalld -a 'zone=public service=http permanent=yes state=enabled immediate=yes'	
##设定火墙策略

###westosb
firewall-cmd --list-all

请添加图片描述
请添加图片描述
此时可以通过浏览器访问214主机。
请添加图片描述

15、user

功能:模块可以帮助我们管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作

常用参数
name		##必须参数,用于指定要操作的用户名称。
group		##指定用户所在的基本组。
gourps		##指定用户所在的附加组。
append		##指定添加附加组默认值为no
shell		##指定用户的默认 shell。
uid			##指定用户的 uid 号。
comment		##指定用户的注释信息。
state		##用于指定用户是否存在于远程主机
		#present	建立
		#absent		删除
remove		##当删除用户是删除用户家目录,默认值为no
password	##此参数用于指定用户的密码。但密码为明文,
			##可以用openssl password -6 '密码'生成加密字符

实验:
另外打开一个shell,连接到214主机,并监控系统中的用户、组及密码。

watch -n 1 “tail -n 3 /etc/passwd /etc/group /etc/shadow; echo =====;ls -l /home/

在主控机远程控制受控主机建立用户testuser。

ansible westos -m user -a 'name=testuser'	##建立用户

请添加图片描述
请添加图片描述
在主控机远程控制受控主机删除用户testuser,但此时没有删除用户信息。

ansible westos -m user -a 'name=testuser state=absent'		##删除用户,但没有删除用户信息

请添加图片描述请添加图片描述
如果需要删除用户信息,则需要加上remove参数。重新建立用户,并删除掉所有信息。

ansible westos -m user -a 'name=testuser state=absent remove=yes'	##删除用户并且删除用户信息

请添加图片描述请添加图片描述
在主控机远程控制受控主机指定初始组。

ansible westos -m user -a 'name=testuser group=1002'	##指定初始组

请添加图片描述
请添加图片描述
在主控机远程控制受控主机更改附加组。

ansible westos -m user -a 'name=testuser group=1002 groups=48'	##更改附加组

请添加图片描述
请添加图片描述

在主控机远程控制受控主机添加附加组。

ansible westos -m user -a 'name=testuser group=1002 groups=48 append=yes'	##添加附加组

请添加图片描述
请添加图片描述
在主控机远程控制受控主机添加说明文字。

ansible westos -m user -a 'name=testuser group=1002 groups=48 append=yes comment="testuser westos"'	##说明文字

请添加图片描述
请添加图片描述
在主控机远程控制受控主机指定运行shell

ansible westos -
m user -a 'name=testuser group=1002 groups=48 append=yes comment="testuser westos" shell=/bin/sh'	##指定shell

请添加图片描述请添加图片描述
在主控机远程控制受控主机指定指定uid

ansible westos -m user -a 'name=testuser group=1002 groups=48 append=yes comment="testuser westos" shell=/bin/sh uid=6666'	##指定uid

请添加图片描述请添加图片描述

此时如果需要对该用户进行加密,则在westosa主机中生产加密字符,用生成的key指定用户密码。

openssl passwd -6							
##生成加密字符
ansible westos -m user -a 'name=testuser group=1002 groups=48 append=yes comment="testuser westos" shell=/bin/sh uid=6666 password="加密字符"'	
##指定用户密码

请添加图片描述请添加图片描述
如果需要自动生成sshkey,则需要对应参数打开。

ansible westos -m user -a 'name=testuser group=1002 groups=48 append=yes comment="testuser westos" shell=/bin/sh uid=6666 password="加密字符" generate_ssh_key=yes'	##自动生成sshkey

请添加图片描述

16、group

功能:可以帮助我们管理远程主机上的组

ansible westos -m user -a 'name=testuser group=1002'	##指定初始组
常用参数
name		##用于指定要操作的组名称。
state		##用于指定组的状态
		#present	建立
		#absent		删除
gid			##用于指定组的gid

实验:
通过主控机远程在受控主机上建立组,更改组id和删除组。

ansible westos -m group -a 'name=testgroup gid=666 state=present'		##建立组
ansible westos -m group -a 'name=testgroup gid=888'						##更改组id
ansible westos -m group -a 'name=testgroup gid=888 state=absent'		##删除组

请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述

17、lineinfile

功能:确保某一行文本存在于或者不存在于指定的文件中

常用参数:
path			##指定要操作的文件。
line			##指定文本内容。 "|+" 表示格式化输入 
regexp			##使用正则表达式匹配对应的行当替换文本时
		##如果有多行文本都能被匹配
		##则只有最后面被匹配到的那行文本才会被替换
		##当删除文本时,如果有多行文本都能被匹配
		##这么这些行都会被删除。
state			##当想要删除对应的文本时需要将state参数的值设置为absent
		#state的默认值为present。
backrefs		##当内容无匹配规则时不对文件做任何更改,默认值为no
		##向后引用regexp变量信息
insertafter		##借助insertafter参数可以将文本插入到“指定的行”之后
		##insertafter参数的值可以设置为EOF或者正则表达式
insertbefore	##借助insertbefore参数可以将文本插入到“指定的行”之前
		#insertbefore参数的值可以设置为BOF或者正则表达式
backup			##是否在修改文件之前对文件进行备份。
create			##当要操作的文件并不存在时,是否创建对应的文件。

实验:
要操作的文件并不存在时,创建对应的文件。

ansible all -m lineinfile -a 'path=/mnt/westosfile line="hello westos" create=yes'

请添加图片描述请添加图片描述

修改文件之前将文件备份到一个新文件中,然后修改原文件。

ansible all -m lineinfile -a 'path=/mnt/westosfile line="hello hh" backup=yes'		##在修改文件之前对文件进行备份

请添加图片描述请添加图片描述
在指定文件最后一行后再加一行内容。

ansible all -m lineinfile -a 'path=/mnt/westosfile line="hello linux"'   ##在最后面加一行

请添加图片描述请添加图片描述

替换文本,将以westos开头的文本替换为hello westos。先编辑原westosfile文件,加上一行以westos开头的内容。

ansible all -m lineinfile -a 'path=/mnt/westosfile regexp="^westos" line="hello westos" '

请添加图片描述请添加图片描述
替换文本,将以linux结尾的文本替换为hi westos。

ansible all -m lineinfile -a 'path=/mnt/westosfile regexp="linux$" line="hi westos" '

请添加图片描述请添加图片描述
当内容无匹配规则时不对文件做任何更改。

ansible all -m lineinfile -a 'path=/mnt/westosfile regexp='^test' line="westos test new" backrefs=yes'

请添加图片描述
将指定的文本插入到最后一行。

ansible all -m lineinfile -a 'path=/mnt/westosfile line="###### westos end #####" insertafter=EOF'

请添加图片描述请添加图片描述
将指定的文本插入到指定行之后。

ansible all -m lineinfile -a 'path=/mnt/westosfile line="###### westos end lee #####" insertafter="hello hh"' 

请添加图片描述请添加图片描述

将指定的文本插入到第一行。

ansible all -m lineinfile -a 'path=/mnt/westosfile line="###### westos test #####" insertbefore=BOF'

请添加图片描述请添加图片描述

将指定的文本插入到指定行之前。

ansible all -m lineinfile -a 'path=/mnt/westosfile line="###### westos test lee #####" insertbefore="hello hh"' 

请添加图片描述请添加图片描述

18、replace

功能:可以根据我们指定的正则表达式替换文件中的字符串,文件中所有被匹配到的字符串都会被替换

常用参数:
path		##指定要操作的文件
regexp		##指定一个正则表达式
		#文件中与正则匹配的字符串将会被替换。
replace		##指定最终要替换成的字符串。
backup		##是否在修改文件之前对文件进行备份,最好设置为yes。

实验:
将指定文件中的指定字符替换,并且备份原文件。

ansible westos -m replace -a 'path=/mnt/westos regexp="westos" replace="WESTOS" backup=yes' 

请添加图片描述
请添加图片描述

19、sut up

功能:用于收集远程主机的一些基本信息

常用参数:
filter		##用于进行条件过滤。如果设置,仅返回匹配过滤条件的信息。

实验:
列出受控主机westosb的IP。

ansible westos -m setup -a 'filter=ansible_all_ipv4_addresses'
ansible westos -m setup | less			##分页显示

请添加图片描述
请添加图片描述
请添加图片描述
列出westosb主机架构。

ansible westos -m setup -a 'filter=ansible_architecture'

请添加图片描述

20、debug

功能:调试模块,用于在调试中输出信息

常用参数:
msg:		##调试输出的消息
var:		##将某个任务执行的输出作为变量传递给debug模块
		##debug会直接将其打印输出
verbosity:	##debug的级别(默认是0级,全部显示)

实验:

ansible westos -m debug -a 'msg="hello westos"'

请添加图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值