1.ansible实现管理的方式
Ad-Hoc 利用ansible命令直接完成管理,主要用于临时命令使用场景playbook ansible脚本,主要用于大型项目场景,需要前期的规划Ad-Hoc执行方式中如何获得帮助ansible-doc 显示模块帮助的指令
格式ansible-doc [参数] [模块...] 常用参数-l 列出可用模块-s 显示指定模块的playbook片段![]()
2.ansible命令运行方式及常用参数
ansible 清单vim /etc/ansible/hosts 加入清单
-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的基本颜色代表信绿色 执行成功但未对远程主机做任何改变黄色 执行成功并对远程主机做改变红色 执行失败![]()
![]()
![]()
3.ansible中常用模块
1.shell
chdir 执行命令前先进入到指定目录cmd 运行命令指定creates 如果文件存在将不运行removes 如果文件存在在将运行free_form 在远程主机中执行的命令,此参数不需要加executable 指定执行环境,默认为sh
2.script功能: 在ansible主机中写好的脚本在受控主机中执行ansible all -m script -a "/mnt/westos.sh"
3.copy功能 从ansible主机复制文件到受控主机常用参数src 源文件dest 目的地文件owner 指定目的地文件所有人groupmode 指定目的地文件权限backup=yes 当受控主机中存在文件时备份原文件content 指定文本内容直接在受控主机中生成文件
4.fetch功能 从受控主机把文件复制到ansible主机,但不支持目录常用参数src 受控主机的源文件dest 本机目录flat 基本名称功能 不复制文件路径 只复制本身![]()
5.file功能 设置文件的属性常用参数path 指定文件名称state 指定操作状态touch 建立absent 删除directory 递归link 建立链接hardmode 设定权限owner 设定文件用户group 设定文件组src 源文件dest 目标文件recurse=yes 递归更改![]()
6.archive
作用 压缩常用参数path 打包目录名称dest 声称打包文件名称format 打包格式owner 指定文件所属人mode 指定文件权限
7.unarchive
功能 解压缩常用参数copy 默认为yes 从ansible主机复制文件到受控主机 设定为no 从受控主机中寻找src源文件remote_src 功能同copy且相反 设定为yes 表示包在受控主机 设定为no表示包在ansible主机src 包路径,可以使ansible主机也可以使受控主机dest 受控主机目录mode 解压后文件权限 <copy=yes>![]()
8.cron
作用 计划任务常用参数minute 分钟hour 小时day 天month 月weekday 周name 任务名称job 任务脚本或命令disabled yes 禁用计划任务no 启动计划任务state absent 删除计划任务![]()
9.yum_repository
作用 配置系统软件仓库源文件常用参数name 指定仓库名称baseurl 指定源路径description 指定仓库描述file 指定仓库文件名称enabled 仓库是否启用gpgcheck 仓库是否检测gpgkeystate 默认值present 建立absent 为删除![]()
10.dnf
作用 管理系统中的dnf仓库及管理软件常用参数name 指定包state 指定动作present 安装latest 更新absent 删除list 列出指定信息disable_gpg_check禁用gpgkey检测enablerepo 指定安装包来源disablerepo 禁用安装包来源![]()
11.service
作用 管理系统服务状态常用参数name 指定服务名称state 指定对服务的动作startedstopedrestartedreloadedenabled 设定服务开机是否启动yes开启启动no开机不启动![]()
12.firewalld
常用参数zone 火墙的域service 服务名称permanent 永久生效stateenabled 允许disabled 拒绝immediate 立即生效![]()
13.user
作用模块可以帮助我们管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作常用参数name 必须参数,用于指定要操作的用户名称。group 指定用户所在的基本组。gourps 指定用户所在的附加组。append 指定添加附加组默认值为noshell 指定用户的默认 shell。uid 指定用户的 uid 号。comment 指定用户的注释信息。state 用于指定用户是否存在于远程主机present 建立absent 删除remove 当删除用户是删除用户家目录,默认值为nopassword 此参数用于指定用户的密码。但密码为明文,可以用openssl password -6 '密码'生成加密字符generate_ssh_key 生成sshkey![]()
14.group作用 group 模块可以帮助我们管理远程主机上的组。常用参数name 用于指定要操作的组名称。state 用于指定组的状态present 建立absent 删除gid 用于指定组的gid![]()
15.lineinfile
path 指定要操作的文件。line 指定文本内容。 "|+" 表示格式化输入regexp 使用正则表达式匹配对应的行当替换文本时如果有多行文本都能被匹配则只有最后面被匹配到的那行文本才会被替换当删除文本时,如果有多行文本都能被匹配这么这些行都会被删除。state 当想要删除对应的文本时需要将state参数的值设置为absentstate的默认值为present。backrefs 当内容无匹配规则时不对文件做任何更改,默认值为no向后引用regexp变量信息insertafter 借助insertafter参数可以将文本插入到“指定的行”之后insertafter参数的值可以设置为EOF或者正则表达式insertbefore 借助insertbefore参数可以将文本插入到“指定的行”之前insertbefore参数的值可以设置为BOF或者正则表达式backup 是否在修改文件之前对文件进行备份。create 当要操作的文件并不存在时,是否创建对应的文件
16.replace作用 replace 模块可以根据我们指定的正则表达式替换文件中的字符串,文件中所有被匹配到的字符串都会被替换常用参数path 指定要操作的文件regexp 指定一个正则表达式 文件中与正则匹配的字符串将会被替换。replace 指定最终要替换成的字符串。backup 是否在修改文件之前对文件进行备份,最好设置为yes。
17.setup
作用 setup模块用于收集远程主机的一些基本信息常用参数filter用于进行条件过滤。如果设置,仅返回匹配过滤条件的信息。![]()
18.debug作用 调试模块,用于在调试中输出信息常用参数:msg: 调试输出的消息var: 将某个任务执行的输出作为变量传递给debug模块debug会直接将其打印输出verbosity: debug的级别(默认是0级,全部显示)![]()