四十八、Ansible Playbook

1、简介

Playbook由一个或多个"play"组成的列表,play的主要功能Ansible中的Task定义好的角色,指定剧本对应的服务器组。Task是一个任务,Task调用Ansible各种模块module,将多个play组织在一个playbook剧本中,然后组成一个非常完整的流程控制集合。基于Ansible Playbook还可以收集命令、可以创建任务集,这样能够大大降低管理工作的复杂程度,Playbook采用YAML语法结构,易于阅读、方便配置。

YAML(Yet Another Markup Language),是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它参考了其它多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822,是类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。YAML使用空白字符和分行来分隔资料,适合用 grep、Python、Perl、Ruby 操作。YAML语言特性如下:

可读性强;
和脚本语言的交互性好;
使用实现语言的数据类型;
一致的信息模型;
易于实现;
可以基于流来处理;
可扩展性强。

Playbooks组件包括如下:

Target 						定义playbook的远程主机组;
Variable 					    定义playbook使用的变量;
Task  						定义远程主机上执行的任务列表;
Handler 					    定义task执行完成以后需要调用的任务,例如配置文件被改动,则启动handler任务重启相关联的服务。

Target常用参数如下:

hosts                   	    定义远程主机组;
user                   		执行该任务的用户;
sudo	 					    设置为yes的时候,执行任务的时候使用root权限;
sudo_user 					指定sudo普通用户;
connection 					默认基于SSH连接客户端;
gather_facks 				    获取远程主机facts基础信息。

Variable常用参数如下:

vars  						定义格式,变量名:变量值;
vars_files  				    指定变量文件;
vars_prompt  				用户交互模式自定义变量;
setup 						模块去远程主机的值;

Task常用参数如下:

name 						任务显示

你可能感兴趣的:(Linux,运维-CentOS,7.x,ansible,linux,服务器)