本文概述
剧本是用于编写Ansible代码的文件。剧本以YAML格式编写。 YAML的意思是“另外一种标记语言”,因此不需要太多语法。剧本是Ansible的核心功能之一,它告诉Ansible执行什么,并且在复杂的场景中使用。它们提供了更大的灵活性。
剧本包含用户希望在特定计算机上执行的步骤。剧本按顺序运行。剧本是Ansible所有用例的基础。
Ansible剧本比编程语言更倾向于配置语言。
通过剧本,你可以为某些主机指定特定角色,并为其他主机指定其他角色。通过这样做,你可以在非常不同的场景中编排多台服务器,所有这些都在一本书中。
剧本结构
每个剧本都是一个或多个剧本的集合。剧本是通过使用戏剧来组织的。一本剧本中可以有多个剧本。
该剧的功能是映射针对特定主机定义的一组指令。
YAML编辑器有很多,但更喜欢使用简单的编辑器,例如notepad。首先,打开记事本并复制粘贴以下YAML,然后将语言更改为YAML(语言→YAML)。
YAML始终以—(3个连字符)开头。
创建剧本
让我们从编写示例YAML文件开始。首先,我们必须定义一个任务。这些是角色和剧本Ansible模块的接口。
一本包含一个任务的剧本,包含多个任务,如下例所示。
---
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 Playbooks的名称。 |
Hosts | 它指定要针对其运行任务的主机的列表。主机的标签是强制性的。它告诉Ansible, 在哪些主机上运行列出的任务。这些任务可以在同一台计算机或远程计算机上运行。一个人可以在多台机器上运行任务, 并且主机的标签也可以具有一组主机条目。 |
Vars | Vars标签定义可以在剧本中使用的变量。它的用法类似于任何编程语言中的变量。 |
Tasks | 任务是在剧本中需要执行的动作的列表。所有剧本都应包含要执行的任务。任务字段包含任务名称。它不是强制性的, 但对调试剧本很有用。在内部, 每个任务都链接到一段称为模块的代码。应该执行一个模块, 以及要运行的模块所需的参数。 |
评论前必须登录!
注册