个性化阅读
专注于IT技术分析

ansible剧本(Playbook)

本文概述

剧本是用于编写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, 在哪些主机上运行列出的任务。这些任务可以在同一台计算机或远程计算机上运行。一个人可以在多台机器上运行任务, 并且主机的标签也可以具有一组主机条目。
VarsVars标签定义可以在剧本中使用的变量。它的用法类似于任何编程语言中的变量。
Tasks任务是在剧本中需要执行的动作的列表。所有剧本都应包含要执行的任务。任务字段包含任务名称。它不是强制性的, 但对调试剧本很有用。在内部, 每个任务都链接到一段称为模块的代码。应该执行一个模块, 以及要运行的模块所需的参数。

赞(0)
未经允许不得转载:srcmini » ansible剧本(Playbook)

评论 抢沙发

评论前必须登录!