ansible 自动化运维工具 3 (常用模块[2])

ansible常用模块[2]

11.yum_repository

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

首先删除node1受控主机的yum源
请添加图片描述
可以看到已经删除
请添加图片描述
ansible主机使用yum_repository模块,文件名为westos(自动添加后缀.repo),名字为AppStream,描述为AppStream,路径为http://172.25.254.70/rhel8.2/AppStream,开启使用,不检查gpgcheck,创建
请添加图片描述
查看受控主机的yum源文件
请添加图片描述
同样的,添加BaseOS
请添加图片描述
查看受控主机的yum源文件
请添加图片描述

12.dnf

作用:管理系统中的dnf仓库及管理软件

常用参数含义
name指定包
state指定动作,present是安装,latest是更新,absent是删除
list列出指定信息, httpd、installed、all、available
disable_gpg_check禁用gpgkey检测
enablerepo指定安装包来源
disablerepo禁用安装包来源
autoremove依赖性一起卸载

ansible主机使用dnf模块,安装httpd和php,会把依赖性都安装。(卸载只卸载本身的,不卸载依赖性)
请添加图片描述
请添加图片描述
再次安装上,卸载时添加了autoremove参数,依赖性一起卸载
在这里插入图片描述
加入故意把yum源的gpgcheck改为1,那么将无法安装软件;
有1和0两个选择,分别代表是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的
请添加图片描述
但是,禁用gpgkey检测就可以正常使用了
请添加图片描述
如果禁用AppStream这个源,显然无法安装
请添加图片描述
列出httpd的信息
请添加图片描述
列出可安装的信息
请添加图片描述
列出已安装的信息
请添加图片描述

13.service

作用:管理系统服务状态

参数含义
name指定服务名称
state指定对服务的动作,包括started,stoped,restarted,reloaded
enabled设定服务开机是否启动,yes开启启动,no开机不启动

ansible主机使用dnf模块,为受控主机安装httpd
请添加图片描述
查看,此时httpd服务还未启动
请添加图片描述
ansible主机使用service模块,开启httpd,并设置开机自启
请添加图片描述
设定成功
请添加图片描述
但此时无法访问westosb的httpd服务,这是因为火墙的设定
请添加图片描述

14.firewalld

管理火墙

参数含义
zone火墙的域
service服务名称
permanent永久生效
state动作,包括enabled允许,disabled拒绝
immediate立即生效

ansible主机使用firewalld模块,设定public域,允许http服务,永久生效,立即生效
请添加图片描述
成功添加
请添加图片描述
此时apache也可以访问到了
请添加图片描述

15.group

管理远程主机上的组

参数含义
name用于指定要操作的组名称
state用于指定组的状态,包括present建立,absent删除
gid用于指定组的gid

ansible主机使用group模块,建立testgroup这个组,gid设定为666
请添加图片描述
为了方便看效果,监控/etc/group
在这里插入图片描述
查看组信息
请添加图片描述
修改testgroup组的gid为888
请添加图片描述
查看组信息
请添加图片描述
删除testgroup这个组
请添加图片描述
testgroup这个组已被删除
请添加图片描述

16.user

作用;管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作

参数含义
name必须参数,用于指定要操作的用户名称
group指定用户所在的基本组
groups指定用户所在的附加组
append指定添加附加组,默认值为no
shell指定用户的默认 shell
uid指定用户的 uid 号
comment指定用户的注释信息
state用户状态,包括present建立,absent删除
remove当删除用户时删除用户家目录,默认值为no
password此参数用于指定用户的密码。但密码为明文,可以用openssl password -6 '密码’生成加密字符
generate_ssh_key生成sshkey

为了方便看效果,监控/etc/passwd、/etc/group和家目录
请添加图片描述
监控如下
请添加图片描述
ansible主机使用user模块,建立用户testuser
请添加图片描述
已建立用户testuser
请添加图片描述
删除用户testuser
在这里插入图片描述
已删除用户testuser,但是家目录还在
请添加图片描述再次建立用户testuser,这次删除时添加remove参数,当删除用户时删除用户家目录
请添加图片描述
可以看到用户和家目录都删除了
请添加图片描述
可以指定用户的组1002
请添加图片描述
请添加图片描述
可以指定用户的附加组48(apache)
请添加图片描述
成功添加
请添加图片描述
再添加一个nginx附加祖
请添加图片描述
发现上一个附加组48没了,只有nginx附加组,因为被覆盖了,相当于(useradd -G)
请添加图片描述
如果使用append参数,就可以真的添加一个附加组48,相当于(useradd -aG)
请添加图片描述
成功添加附加组
请添加图片描述
添加注释信息
请添加图片描述
请添加图片描述
添加注释信息,指定shell和uid
请添加图片描述
成功设定
请添加图片描述
先通过openssl password -6 '密码’生成加密字符,再指定用户的密码
请添加图片描述
修改密码成功
请添加图片描述
node主机切换到testuser用户,发现其没有.ssh目录(存放该用户可以用来登录的 RSA 公钥)
请添加图片描述
generate_ssh_key:生成sshkey
请添加图片描述
成功生成公私钥
请添加图片描述

17.lineinfile

作用:管理受控主机的文件中的行,比如匹配行,整行替换

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

请添加图片描述
监控node节点的/mnt/westosfile文件
请添加图片描述
请添加图片描述
ansible主机使用lineinfile模块,创建文件/mnt/westosfile,内容为hello westos;
create:当要操作的文件并不存在时,是否创建对应的文件
请添加图片描述
成功创建
请添加图片描述
/mnt/westosfile文件中有hello的行替换为hello linux
请添加图片描述
替换成功
请添加图片描述
删除/mnt/westosfile文件中有hello的行
请添加图片描述
成功删除
请添加图片描述
/mnt/westosfile文件,创建两行内容
请添加图片描述
请添加图片描述
通过playbook的方式,编辑westosfile文件;
line:指定文本内容
请添加图片描述
成功追加
请添加图片描述
按列排放
请添加图片描述
设定成功
请添加图片描述
使用正则表达式匹配对应的行。删除有hello的行
请添加图片描述
请添加图片描述

backrefs:
当backrefs为no时(backrefs默认为no),如果regex没有匹配到行,则添加一行,如果Regexp匹配到行,则修改该行;
当backrefs为yes时,如果regex没有匹配到行,则保持原文件不变,如果regexp匹配到行,则修改该行

请添加图片描述
请添加图片描述
未匹配到,添加一行
请添加图片描述
此时/mnt/westosfile文件内容如下
请添加图片描述
将/mnt/westosfile文件中有hello的行替换为linux redhat1;
backrefs 默认值为no,如果该为yes,表示当内容无匹配规则时不对文件做任何更改,还有向后引用regexp变量信息的作用;
请添加图片描述
regexp 使用正则表达式匹配对应的行。替换文本时如果有多行文本都能被匹配,则只有最后面被匹配到的那行文本才会被替换
请添加图片描述
继续编辑文件如下
请添加图片描述
/mnt/westosfile文件中,打开向后引用变量信息,匹配h开头的后跟四个任意字符,再后跟一个任意字符,再后跟w,再后跟五个任意字符的格式,替换为第一个变量(即h开头的后跟四个任意字符)
请添加图片描述
只有第一行符合匹配条件,替换为hello
请添加图片描述
/mnt/westosfile文件中,给最后一行添加westos end
请添加图片描述
成功添加
请添加图片描述
/mnt/westosfile文件中,给第一行添加westos begin
请添加图片描述
成功添加
请添加图片描述

18.replace

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

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

ansible主机使用replace模块,对/mnt/westos文件,匹配westos,更换为WESTOS,并备份
请添加图片描述
备份成功
请添加图片描述
成功替换
请添加图片描述

19.setup

作用:setup模块用于收集远程主机的一些基本信息;
常用参数:
filter :用于进行条件过滤。如果设置,仅返回匹配过滤条件的信息。

ansible主机使用setup模块,可以看到受控主机的所有的信息
请添加图片描述
也可以指定查看某个信息
请添加图片描述

20.debug

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

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

ansible主机使用debug模块,输出测试消息hello westos;
设定debug的级别
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值