Ansible-playbooks

提供:Dev Guides
移動先:案内検索

Ansible-プレイブック

この章では、AnsibleのPlaybookについて学習します。

プレイブックは、Ansibleコードが記述されているファイルです。 プレイブックはYAML形式で書かれています。 YAMLは、Yet Another Markup Languageの略です。 Playbook はAnsibleのコア機能の1つであり、実行する内容をAnsibleに伝えます。 これらは、タスクのリストを含むAnsibleのTo Doリストのようなものです。

プレイブックには、ユーザーが特定のマシンで実行したいステップが含まれています。 プレイブックは順番に実行されます。 プレイブックは、Ansibleのすべてのユースケースの構成要素です。

プレイブックの構造

各プレイブックは、その中の1つ以上のプレイの集合です。 PlaybookはPlaysを使用して構成されています。 プレイブック内に複数のプレイがある場合があります。

プレイの機能は、特定のホストに対して定義された一連の命令をマップすることです。

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>

上記はPlaybookの基本的な構文をカバーしようとしているサンプルPlaybookです。 上記のコンテンツを test.yml としてファイルに保存します。 YAML構文は正しいインデントに従う必要があり、構文の作成中は少し注意する必要があります。

さまざまなYAMLタグ

さまざまなYAMLタグを見てみましょう。 さまざまなタグは以下のとおりです-

name

このタグは、Ansibleプレイブックの名前を指定します。 このプレイブックがやっていることのように。 プレイブックには任意の論理名を付けることができます。

ホスト

このタグは、タスクを実行するホストまたはホストグループのリストを指定します。 ホストのフィールド/タグは必須です。 リストされたタスクを実行するホストをAnsibleに伝えます。 タスクは、同じマシンまたはリモートマシンで実行できます。 複数のマシンでタスクを実行できるため、hostsタグにはホストのグループのエントリも含めることができます。

vars

Varsタグを使用すると、プレイブックで使用できる変数を定義できます。 使用法は、プログラミング言語の変数に似ています。

タスク

すべてのプレイブックには、実行するタスクまたはタスクのリストを含める必要があります。 タスクは、実行する必要があるアクションのリストです。 タスクフィールドには、タスクの名前が含まれています。 これは、ユーザーのヘルプテキストとして機能します。 これは必須ではありませんが、プレイブックのデバッグに役立ちます。 各タスクは、モジュールと呼ばれるコードに内部的にリンクしています。 実行するモジュール、および実行するモジュールに必要な引数。