Ansible Playbooks

Ansible Playbooks

在这一章中,我们将学习Ansible中的Playbooks。

Playbooks是编写Ansible代码的文件。Playbooks以YAML格式编写。YAML代表另一种标记语言。

Playbooks 是Ansible的核心功能之一,告诉Ansible要执行什么。它们就像Ansible的待办事项列表,其中包含一系列任务。

Playbooks包含用户想要在特定机器上执行的步骤。Playbooks按顺序运行。Playbooks是Ansible所有用例的构建块。

Playbook结构

每个Playbook是一个包含一个或多个plays的集合。使用Plays结构化Playbooks。一个Playbook中可以有多个play。

play的功能是将一组指令映射到特定的主机。

YAML是一种强类型语言,因此在编写YAML文件时需要格外小心。有不同的YAML编辑器,但我们更喜欢使用简单的编辑器例如Notepad++。只需打开Notepad++,复制粘贴下面的YAML并将语言更改为YAML(Language → YAML)。

YAML以—(3个连字符)开头。

创建一个Playbook

让我们开始编写一个示例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>

上面是一个示例Playbook,我们尝试涵盖Playbook的基本语法。将上述内容保存在一个文件中,名为 test.yml。 YAML语法需要遵循正确的缩进,编写语法时需要小心一点。

不同的YAML标签

现在让我们来看一下不同的YAML标签。以下是对不同标签的描述:

name

此标签指定Ansible Playbook的名称,即此Playbook将要执行的操作。可以给Playbook赋予任何逻辑名称。

hosts

此标签指定要针对其运行任务的主机或主机组的列表。hosts字段/标签是必需的。它告诉Ansible在哪些主机上运行列出的任务。任务可以在同一台机器上或远程机器上运行。可以在多台机器上运行任务,因此hosts标签也可以具有一组主机条目。

vars

Vars标签允许您定义在Playbook中可以使用的变量。使用类似于任何编程语言中的变量。

tasks

所有Playbook都应包含要执行的任务或任务列表。任务是一个需要执行的动作列表。一个任务字段包含任务的名称。这作为用户的帮助文本。它不是强制的,但在调试Playbook时很有用。每个任务内部链接到一个称为模块的代码片段。一个应该被执行的模块,以及要执行的模块所需的参数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程