一、Ansible的管理实现
Ad-Hoc:利用Ansible命令直接完成目标
playbook:Ansible脚本,主要用于大型项目场景,需要前期规划
二、Ad-Hoc执行方式中获得帮助
ansible-doc:显示模块帮助的指令
格式
ansible-doc [参数][模块...]
参数 | 功能 |
---|---|
-l | 列出可用模块 |
-s | 显示指定模块的playbook片段 |
三、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密码 |
ansible运行的三种结果
绿色:执行命令成功但远程主机没有任何改变
黄色:执行命令成功远程主机发生改变
红色:执行命令失败
四、Ansible中的常用模块
4.1 command
功能:在远程主机执行命令,ansible默认模块为command,可在配置文件修改
参数 | 功能 |
---|---|
chdir | 执行命令前先进入到指定目录 |
cmd | 运行命令指定 |
creates | 如果文件存在将不运行 |
removes | 如果文件存在在将运行 |
free_form | 在远程主机中执行的命令,此参数不需要加 |
4.2 shell
功能:与command相似,在远程主机执行命令
参数 | 功能 |
---|---|
chdir | 执行命令前先进入到指定目录 |
cmd | 运行命令指定 |
creates | 如果文件存在将不运行 |
removes | 如果文件存在在将运行 |
free_form | 在远程主机中执行的命令,此参数不需要加 |
executable | 指定执行环境,默认为sh |
4.3 script
功能:在ansible主机中写好脚本并在受控主机中执行脚本
4.4 copy
功能:从ansible主机复制文件到受控主机中
参数 | 功能 |
---|---|
src | 源文件 |
dest | 目的地文件 |
owenr | 指定目的地文件所有人 |
mode | 指定目的地文件权限 |
backup=yes | 当受控主机中存在文件时备份原文件 |
content | 指定文本内容直接在受控主机中生成文件 |
4.5 fetch
功能:从受控主机中将文件复制到ansible主机,不支持复制目录
参数 | 功能 |
---|---|
src | 受控主机的源文件 |
dest | 本机目录 |
4.6 file
功能:设置文件属性
参数 | 功能 |
---|---|
path | 指定文件名称 |
state | 指定操作状态 |
mode | 设定权限 |
owner | 设定文件用户 |
group | 设定文件组 |
src | 源文件 |
dest | 目标文件 |
state参数:
touch 建立
absent 删除
directory 递归
link 建立链接
4.7 unarchive
功能:解压缩
参数 | 功能 |
---|---|
copy | 默认为yes 从ansible主机复制文件到受控主机,设定为no 从受控主机中寻找src源文件 |
remote_src | 功能同copy且相反,设定为yes 表示包在受控主机,设定为no表示包在ansible主机 |
src | 包路径,可以使ansible主机也可以使受控主机 |
dest | 受控主机目录 |
mode | 加压后文件权限 |
4.8 archive
作用:压缩
参数 | 功能 |
---|---|
path | 打包目录名称 |
dest | 声称打包文件名称 |
format | 打包格式 |
owner | 指定文件所属人 |
mode | 指定文件权限 |
4.9 hostname
功能:管理主机名称
name:指定主机名称
4.10 cron
功能:对用户定时计划任务进行控制
参数 | 功能 |
---|---|
minute | 分钟 |
hour | 小时 |
day | 天 |
month | 月 |
weekday | 周 |
name | 任务名称 |
job | 任务脚本或命令 |
disabled | yes 禁用计划任务,no启动计划任务 |
state | absent 删除计划任务 |