目录
前言
本章内容主要讲解ansible中常用模块,ansible实现管理的方式、ansible命令运行方式及常用参数、ansible中的常用模块中的command、shell、script、copy、fetch、file、unarchive、archive、hostname、cron、dnf、service、firewalld、user、group、lineinfile、replace、setup、debug模块,每一个模块各自的作用。
什么是模块?
ls本身是一个命令,如果把ansible看做是一个系统的话,ls就是一个模块,模块就是别人开发好集成好的东西
一、ansible实现管理的方式
Ad-Hoc ##利用ansible命令直接完成管理,主要用于临时命令使用场景
playbook ##ansible脚本,主要用于大型项目场景,需要前期的规划
命令在执行时有直接执行,ansible也有直接执行的方式Ad-Hoc
也可以写脚本,在ansible中的脚本叫做playbook
这就是playbooks的执行方式,类似于shell中的脚本
二、Ad-Hoc执行方式中如何获得帮助
ansible-doc ##显示模块帮助的指令 q退出
#格式
ansible-doc [参数] [模块...]
#常用参数
-l ##列出可用模块
-s ##显示指定模块的playbook片段
不加s是帮助
三、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密码
-v显示详细信息
-vv比详细信息更详细的信息
-vvv是最详细的了
--list
-k
-C
-T
-u
-b
--become-user=USERNAME,指定sudo的用户
-K
四、ansible的基本颜色代表信
绿色 ##执行成功但为对远程主机做任何改变
黄色 ##执行成功并对远程主机做改变
红色 ##执行失败
不是绝对的
五、ansible中的常用模块
1、command
#功能: 在远程主机执行命令,此模块为默认模块
#常用参数
chdir ##执行命令前先进入到指定目录
cmd ##运行命令指定 现在已经不加了,加了可能会报错
creates ##如果文件存在将不运行
removes ##如果文件存在在将运行
free_form ##在远程主机中执行的命令,此参数不需要加
注意
Linux中的很多通配符在command模块中不支持
鼻祖级的模块,在远程主机中运行shell命令的
不支持通配符
2、shell
#功能:
#和command功能类似
#常用参数
chdir ##执行命令前先进入到指定目录
cmd ##运行命令指定
creates ##如果文件存在将不运行
removes ##如果文件存在在将运行
free_form ##在远程主机中执行的命令,此参数不需要加
executable ##指定执行环境,默认为sh
可以使用通配符
chdir
executable