Ansible – 剧本

Ansible – 剧本


在本章中,我们将了解 Ansible 中的 Playbooks。

Playbooks 是编写 Ansible 代码的文件。Playbooks 以 YAML 格式编写。YAML 代表另一种标记语言。Playbooks是 Ansible 的核心功能之一,它告诉 Ansible 要执行什么。它们就像 Ansible 的待办事项列表,其中包含任务列表。

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

剧本结构

每个剧本都是其中一个或多个剧本的集合。Playbooks 是使用 Plays 构建的。一本剧本中可以有多个剧本。

play 的功能是映射一组针对特定主机定义的指令。

YAML 是一种严格类型的语言;因此,在编写 YAML 文件时需要格外小心。有不同的 YAML 编辑器,但我们更喜欢使用像 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 标签。不同的标签描述如下 –

名称

此标签指定 Ansible 剧本的名称。就像这本剧本将要做的那样。可以为剧本指定任何逻辑名称。

主机

该标签指定了我们要针对其运行任务的主机或主机组的列表。主机字段/标签是强制性的。它告诉 Ansible 在哪些主机上运行列出的任务。这些任务可以在同一台机器或远程机器上运行。一个可以在多台机器上运行任务,因此主机标签也可以有一组主机条目。

变量

Vars 标签可让您定义可在剧本中使用的变量。用法类似于任何编程语言中的变量。

任务

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

觉得文章有用?

点个广告表达一下你的爱意吧 !😁