Ansible实践篇:实践篇:AnsiblePlayBook应用应用
一、PlayBook的作用
之前的模块都是使用Ad-hoc方式(Ad-hoc方式是一种可以快速输入的命令,而且不需要保存起来的命令,相当于bash中的一
句话shell)点对点命令执行,可以管理远程主机,但如果服务器数量比较多,配置信息也比较多,可以利用Ansible PlayBook
编写剧本,以更加简便的方式实现任务处理的自动化和流程化。
二、PlayBook组成及参数详解
PlayBook是由一个或多个“play”组成的列表,play的主要功能是为Ansible中的task定义好的角色,指定剧本对应的服务器组。
相当于task是一个任务,task调用Ansible的各种模块,将多个play组织在一个playbook剧本中,全部组成一个完整的流程控制
集合
1、PlayBook组件包括
target:定义PlayBook的远程主机组
variable:定义PlayBook使用的变量
task:定义远程主机上执行的任务列表
handler:定义task执行完成后需要调用的任务,例如修改配置文件之后,启动跟handler任务重启相关联的服务
2、target常用参数详解
hosts:定义远程主机组
user:执行该任务的用户
sudo:设置为yes的时候,执行任务使用root权限
sudo_user:指定sudo的普通用户
connection:默认基于SSH链接客户端
gather_facks:获取远程主机facts基础信息
3、variable常用参数详解
vars:定义格式,变量名:变量值
vars_files:指定变量文件
vars_prompt:用户交互模式自定义变量
setup:模块取远程主机的值
4、task常用参数详解
name:任务显示名称也是屏幕显示信息
action:定义执行的动作
copy:复制本地文件到远程主机
template:复制本地文件到远程主机,可以引用本地变量
service:定义服务的状态
基于Ansible PlayBook还可以收集命令、创建任务集,可以大大降低管理工作的复杂程度,PlayBook采用YAML语法结构
三、YAML语言特性
YAML(yet another markup language)是一种直观的能被电脑识别的数据序列化格式,是一个容易阅读,和脚本语言交互,用
来表达资料序列的编程语言。YAML使用空白字符和分行来分隔资料,适合用Python、Ruby、Perl、grep来操作。
YAML语言特性为:
可读性强
和脚本语言的交互性好
评论0
最新资源