- Ansible 教程
- Ansible - 首页
- Ansible - 简介
- Ansible - 环境设置
- Ansible - YAML 基础
- Ansible - Ad hoc 命令
- Ansible - 剧本
- Ansible - 角色
- Ansible - 变量
- Ansible - 高级执行
- Ansible - 故障排除
- Ansible 有用资源
- Ansible - 快速指南
- Ansible - 有用资源
- Ansible - 讨论
Ansible - 剧本
在本章中,我们将学习 Ansible 中的剧本。
剧本是编写 Ansible 代码的文件。剧本以 YAML 格式编写。YAML 代表 Yet Another Markup Language。剧本是 Ansible 的核心功能之一,告诉 Ansible 执行什么操作。它们就像 Ansible 的待办事项清单,其中包含任务列表。
剧本包含用户希望在特定机器上执行的步骤。剧本按顺序运行。剧本是 Ansible 所有用例的基础。
剧本结构
每个剧本都包含一个或多个剧本。剧本使用剧本进行结构化。一个剧本中可以有多个剧本。
剧本的功能是将针对特定主机定义的一组指令进行映射。
YAML 是一种严格类型的语言;因此,在编写 YAML 文件时需要格外小心。有不同的 YAML 编辑器,但我们更喜欢使用简单的编辑器,如 notepad++。只需打开 notepad++ 并复制粘贴下面的 yaml,然后将语言更改为 YAML(语言 → YAML)。
YAML 以 ---(3 个连字符)开头
创建剧本
让我们从编写一个示例 YAML 文件开始。我们将逐步介绍 yaml 文件中编写的每个部分。
--- name: install and configure DB hosts: testServer become: yes vars: oracle_db_port_value : 1521 tasks: -name: Install the Oracle DB yum: <code to install the DB> -name: Ensure the installed service is enabled and running service: name: <your service name>
以上是一个示例剧本,我们试图涵盖剧本的基本语法。将上述内容保存在一个名为test.yml的文件中。YAML 语法需要遵循正确的缩进,并且在编写语法时需要稍微小心。
不同的 YAML 标签
现在让我们了解不同的 YAML 标签。下面描述了不同的标签:
name
此标签指定 Ansible 剧本的名称。就像此剧本将执行什么操作一样。可以为剧本指定任何逻辑名称。
hosts
此标签指定我们要针对其运行任务的主机或主机组的列表。hosts 字段/标签是必需的。它告诉 Ansible 在哪些主机上运行列出的任务。这些任务可以在同一台机器上运行,也可以在远程机器上运行。可以在多台机器上运行任务,因此 hosts 标签也可以包含一组主机条目。
vars
Vars 标签允许您定义可以在剧本中使用的变量。用法类似于任何编程语言中的变量。
tasks
所有剧本都应包含任务或要执行的任务列表。任务是要执行的一系列操作。tasks 字段包含任务的名称。这作为用户的帮助文本。它不是必需的,但在调试剧本时非常有用。每个任务在内部链接到一段称为模块的代码。一个应该执行的模块,以及要执行的模块所需的参数。