您的当前位置:首页 > 时尚 > Ansible中常用模块 正文

Ansible中常用模块

时间:2024-04-29 17:36:45 来源:网络整理 编辑:时尚

核心提示

目录一、Ansible实现管理的方式二、Ad-Hoc执行方式中如何获得帮助​​​​​​​三、Ansible命令运行方式及常用参数四、Ansible的基本颜色代表信五、Ansible中的常用模块1、co

Ansible中常用模块

目录

一、常用Ansible实现管理的模块方式

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

三、常用Ansible命令运行方式及常用参数

四、模块Ansible的常用基本颜色代表信

五、Ansible中的模块常用模块

1、command模块

2、常用shell模块、模块script模块

3、常用copy模块、模块fetch模块

4、常用file模块

5、模块archive模块、常用unarchive模块

6、模块hostname模块、常用cron模块

7、yum_repository模块、yum(dnf)模块

8、service模块、firewalld模块

9、user模块、group模块

10、lineinfile模块、replace模块

11、setup模块、debug模块


Ad-Hoc 利用ansible命令直接完成管理,主要用于临时命令使用场景
playbook ansible脚本,主要用于大型项目场景,需要前期的规划

 

参数功能指定hosts文件路径,默认在指定使用的module名称,默认command模块指定模块参数提示输入ssh密码,并非基于ssh密钥认证提示输入sudo密码使用sudo执行命令指定sudo的用户NUM默认是整数5,指定fork开启同步进程的个数指定远程主机的执行用户详细模式,如果执行成功,输出详细结果,更详细过程预执行检测执行命令的超时时间,默认10s显示主机列表,也可以用显示版本

 

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

1、command模块

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

常用参数功能执行命令前先进入到指定目录运行命令指定如果文件存在将不运行如果文件存在将运行

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

2、shell模块、script模块

(1)shell模块
shell模块与command模块类似

常用参数功能执行命令前先进入到指定目录运行命令指定如果文件存在将不运行如果文件存在将运行指定执行环境,默认为sh

(2)script模块
在ansible主机中写好的脚本在受控主机中执行

3、copy模块、fetch模块

(1)copy模块
从ansible主机复制文件到受控主机

参数功能源文件目的地文件指定目的地文件所有人指定目的地文件所有组指定目的地文件权限当受控主机中存在文件时备份原文件指定文本内容直接在受控主机中生成文件

复制当前目录的到受控主机的下,文件所有人为,权限为755 

在ansible主机上修改文件内容,开启备份,再次发送  先修改一下文件

 直接输入文件内容,在受控主机上生成文件

(2)fetch模块
从受控主机把文件复制到ansible主机,但不支持目录

参数功能受控主机的源文件本机目录基本名称功能,单纯只要文件,不要路径的层层目录

4、file模块

设置文件的属性

参数功能指定文件名称指定操作状态
:建立
:删除
:递归目录
:建立软链接
:建立硬链接设定权限设定文件用户设定文件组源文件目标文件递归更改

创建test.sh文件 

删除 

创建目录 

 递归更改目录权限

 软连接

硬链接

 

5、archive模块、unarchive模块

(1)archive模块——压缩

参数功能打包目录名称声称打包文件名称打包格式指定文件所属人指定文件权限

(2)unarchive模块——解压缩

默认为,从ansible主机复制文件到受控主机
设定为,从受控主机中寻找源文件功能同copy且相反
设定为表示包在受控主机
设定为表示包在ansible主机压缩文件的路径受控主机目录解压后文件的权限

 

 提前在vm1,2上压缩一个不被限制的gz包 

6、hostname模块、cron模块

(1)hostname模块
管理主机名称
常用参数::指定主机名称

 

(2)cron模块
计划任务

分钟小时天月周任务名称任务脚本或命令禁用计划任务
启动计划任务删除计划任务

创建计划任务 

 

取消计划任务

 

删除计划任务

 

7、yum_repository模块、yum(dnf)模块

(1)yum_repository模块
配置系统软件仓库源文件

参数功能指定仓库名称指定源路径指定仓库描述指定仓库文件名称仓库是否启用仓库是否检测gpgkey默认值: 建立
:删除

创建网络仓库

删除网络仓库 

(2)yum(dnf)模块
管理系统中的yum(dnf)仓库及管理软件(rhrl7中为yum,rhel8中为dnf)

参数功能指定包指定动作
:安装
:更新
:删除列出指定信息
、、、禁用gpgkey检测指定安装包来源禁用安装包来源:移除依赖性
:不移除依赖性

安装软件

 

8、service模块、firewalld模块

(1)service模块
管理系统服务状态

参数功能指定服务名称指定对服务的动作
、、、设定开机是否启动
开机启动;开机不启动

(2)firewalld模块

参数功能火墙的域服务名称永久生效:允许
:拒绝立即生效

9、user模块、group模块

(1)group模块
管理远程主机上的组

指定要操作的组名称指定组的状态
:建立
:删除指定组的gid

(2)user模块
管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作

必须参数,指定要操作的用户名称指定用户所在基本组指定用户所在附加组指定添加附加组默认组为指定用户的默认指定用户的号指定用户的注释信息用于指定用户是否存在于远程主机
:建立
:删除当删除用户时删除用户家目录,默认值为指定用户的密码,但密码为明文
用生成加密字符生成sshkey

10、lineinfile模块、replace模块

(1)lineinfile模块
文件内容管理

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

 

(2)replace模块
根据指定的正则表达式替换文件中的字符串,文件中所有被匹配到的字符串都会被替换

指定要操作的文件指定一个正则表达式,文件中与正则匹配的字符串将会被替换指定最终要替换成的字符串是否在修改文件之前对文件进行备份

11、setup模块、debug模块

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

(2)debug模块
调试模块,用于在调试中输出信息

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