##1.ansible实现管理的方式##
Ad-Hoc ##利用ansible命令直接完成管理,主要用于临时命令使用场景
playbook ##ansible脚本,主要用于大型项目场景,需要前期的规划
##2.Ad-Hoc执行方式中如何获得帮助##
ansible-doc ##显示模块帮助的指令
#格式
ansible-doc [参数] [模块...]
#常用参数
-l ##列出可用模块
-s ##显示指定模块的playbook片段
##3.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密码 |
示例:
--version 显示版本
-m module 指定模块
-v 详细过程 -vv -vvv更详细过程
--list 显示主机列表,也可以用--list-hosts
-k 提示输入ssh连接密码,默认key认证
-C 预执行检测 实际不会对被控主机作出任何改变
-T 执行命令的超时时间,默认10s
-u 指定远程执行的用户
-b 执行sudo切换身份操作
-become-user=USERNAME 指定sudo的用户
-K 提示输入sudo密码 此次实验出现红色的原因是普通用户没有root的权力
##4.ansible的基本颜色代表
绿色 ##执行成功但为对远程主机做任何改变
黄色 ##执行成功并对远程主机做改变
红色 ##执行失败
##5.ansible中的常用模块##
#1.command#
#功能: 在远程主机执行命令,此模块为默认模块
常用参数 | 含义 |
chdir | 执行命令前先进入到指定目录 |
cmd | 运行命令指定 |
creates | 如果文件存在将不运行 |
removes | 如果文件存在在将运行 |
free_form | 在远程主机中执行的命令,此参数不需要加 |
实例: 注意:做此实验前将devops用户中配置文件中的身份信息设定become=true让它满足在受管主机中切换到的用户通常为root.
creates removes
chdir
注意: Linux中的很多通配符在command模块中不支持
此处实验虽然显示为黄色但未对远程主机做出改变
##2.shell##
#功能: 和command功能类似
常用参数 | 含义 |
chdir | 执行命令前先进入到指定目录 |
cmd | 运行命令指定 |
creates | 如果文件存在将不运行 |
removes | 如果文件存在在将运行 |
free_form | 在远程主机中执行的命令,此参数不需要加 |
executable | 指定执行环境,默认为sh |
实验:
creates removes 注意:在被控主机/mnt/下已有file文件
executable
##3.script##
#功能: 在ansible主机中写好的脚本在受控主机中执行
##4.copy##
#功能 : 从ansible主机复制文件到受控主机
常用参数 | 含义 |
src | 源文件 |
dest | 目的地文件 |
owner | 指定目的地文件所有人 |
group | 指定目的地文件所有组 |
mode | 指定目的地文件权限 |
backup=yes | 当受控主机中存在文件时备份原文件 |
content | 指定文本内容直接在受控主机中生成文件 |
实例:
src destsrc dest mode
src dest mode owner group