Ansible - YAML 基础
Ansible 使用 YAML 语法来表达 Ansible playbook。 本章提供了 YAML 的概述。 Ansible 使用 YAML 是因为与 XML 和 JSON 等其他数据格式相比,它更易于人类理解、读取和写入。
每个 YAML 文件都可以选择以"---"开头并以"..."结尾。
了解 YAML
在本节中,我们将学习表示 YAML 数据的不同方式。
键值对
YAML 使用简单的键值对来表示数据。 字典以 key: value 对表示。
注意 − : 和 value 之间应该有空格。
示例:学生记录
--- #Optional YAML start syntax james: name: james john rollNo: 34 div: B sex: male … #Optional YAML end syntax
缩写
您也可以使用缩写来表示字典。
示例
James: {name: james john, rollNo: 34, div: B, sex: male}
代表列表
我们也可以在 YAML 中表示 List。 列表的每个元素(成员)都应写在新行中,缩进相同,以"-"(-和空格)开头。
示例
--- countries: - America - China - Canada - Iceland …
缩写
您也可以使用缩写来表示列表。
示例
Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’]
字典中的列表
我们可以在字典中使用list,即key的值为list。
示例
---
james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
…
词典列表
我们还可以制作字典列表。
示例
---
- james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
- robert:
name: robert richardson
rollNo: 53
div: B
sex: male
likes:
- biology
- chemistry
…
YAML 使用"|" 在显示多行时包含换行符,在显示多行时包含换行符 ">"。 因此,我们可以阅读和编辑大行。 在这两种情况下,意图都将被忽略。
我们还可以在 YAML 中表示 Boolean (True/false) 值。 其中 boolean 值可以不区分大小写。
示例
---
- james:
name: james john
rollNo: 34
div: B
sex: male
likes:
- maths
- physics
- english
result:
maths: 87
chemistry: 45
biology: 56
physics: 70
english: 80
passed: TRUE
messageIncludeNewLines: |
Congratulation!!
You passed with 79%
messageExcludeNewLines: >
Congratulation!!
You passed with 79%
一些与 Ansible 相关的常用词。
Service/Server − 提供服务的机器上的进程。
Machine − 物理服务器、vm(虚拟机)或容器。
Target machine − 我们即将使用 Ansible 配置的机器。
Task − Ansible 管理的一个动作(运行这个,删除那个)等。
Playbook − yml 文件,其中写入 Ansible 命令并在机器上执行 yml。

