Ansible Playbook配置详解


Playbook简介

Ansible Playbook(剧本)的核心作用是通过声明式YAML文件实现自动化配置管理、应用部署和基础设施编排。Playbook的核心元素包括:

  • hosts:指定要执行任务的主机列表,主机列表中的主机需首先在主机清单中定义。
  • tasks:定义要在远程主机上执行的任务列表,是Playbook的主体部分。
  • variables:定义playbook运行时使用的变量,可以是内置变量或自定义变量。
  • templates:配合变量使用的模板文件,在不同主机上使用同一个模板文件可以生成不同的内容。
  • handlers与notity:两者结合使用,可以实现触发器的功能,并能根据条件执行或不执行某些操作。
  • tags:标签,可以通过标签实现执行指定代码的功能。

Playbook元素详解

hosts与tasks

hosts与tasks是playbook的基本元素,hosts用于指定要执行任务的主机列表,tasks用于定义要在远程主机上执行的任务列表,每项任务都有一个用户自定义的任务名称name和要执行的Ansible模块及命令。

1、在playbook中使用hosts与tasks。

ansible

2、执行任务列表,命令为:ansible-playbook playbook名称。

ansible

tags

tags用于为任务打标签,可以通过标签执行指定的任务。

1、在playbook中使用tags。

ansible

2、执行指定标签的任务,命令为:ansible-playbook playbook名称 −t 标签名称。

ansible

handlers与notity

handlers与notity两者结合使用,可以实现触发器的功能。当有notify属性的任务被执行时会自动触发notify指定的任务。

ansible

variables

variables元素用于定义Playbook运行时使用的变量。变量名称必须是以字母开头的字符串,并且只能包含字母,数字和下划线,变量的引用格式为:{{变量名}}。变量的定义有以下几种方式:

1、系统的内置变量。

1.1、系统的内置变量可使用setup模块查看。

ansible

1.2、内置变量可在playbook中直接引用。

ansible

1.3、执行剧本。

ansible

1.4、查看目标主机上的运行结果。

1.4.1、主机一上的执行结果。

ansible

1.4.2、主机二上的执行结果。

ansible

2、环境变量,运行时通过−e参数传入变量值。

2.1、在playbook中引用变量。

ansible

2.2、执行剧本,通过参数传入变量值。

ansible

2.3、查看目标主机上的运行结果。

ansible

3、在playbook中定义变量。

3.1、在playbook中定义并引用变量,变量的定义使用关键字vars。

ansible

3.2、执行剧本。

ansible

3.3、查看目标主机上的运行结果。

ansible

4、注册变量,用于临时保存命令执行的结果值。

4.1、在playbook中定义并引用变量,注册变量的定义使用关键字register。

ansible

4.2、执行剧本。

ansible

4.3、查看目标主机上的运行结果。

ansible

5、在主机清单中定义变量。

5.1、在主机清单中定义变量,不同的主机可定义不同的变量。

ansible

5.2、在playbook中引用变量。

ansible

5.3、执行剧本。

ansible

5.4、查看目标主机上的运行结果。

5.4.1、主机一上的执行结果。

ansible

5.4.2、主机二上的执行结果。

ansible

发表评论

评论数量:0