Ansible-プレイブック
この章では、AnsibleのPlaybookについて学習します。
プレイブックは、Ansibleコードが記述されているファイルです。プレイブックはYAML形式で書かれています。YAMLはYetAnotherMarkupLanguageの略です。PlaybooksはAnsibleのコア機能の1つであり、何を実行するかをAnsibleに指示します。これらは、タスクのリストを含むAnsibleのやることリストのようなものです。
プレイブックには、ユーザーが特定のマシンで実行したいステップが含まれています。プレイブックは順番に実行されます。プレイブックは、Ansibleのすべてのユースケースの構成要素です。
プレイブックの構造
各プレイブックは、その中の1つ以上のプレイの集合体です。プレイブックは、Playを使用して構成されています。プレイブック内には複数のプレイが存在する可能性があります。
プレイの機能は、特定のホストに対して定義された一連の命令をマップすることです。
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タグについて見ていきましょう。さまざまなタグについて以下に説明します-
名前
このタグは、Ansibleプレイブックの名前を指定します。このプレイブックが行うことのように。プレイブックには任意の論理名を付けることができます。
ホスト
このタグは、タスクを実行するホストまたはホストグループのリストを指定します。ホストフィールド/タグは必須です。リストされたタスクを実行するホストをAnsibleに指示します。タスクは、同じマシンまたはリモートマシンで実行できます。複数のマシンでタスクを実行できるため、hostsタグにホストのエントリのグループを含めることもできます。
vars
Varsタグを使用すると、プレイブックで使用できる変数を定義できます。使用法は、他のプログラミング言語の変数と同様です。
タスク
すべてのプレイブックには、実行するタスクまたはタスクのリストが含まれている必要があります。タスクは、実行する必要のあるアクションのリストです。タスクフィールドには、タスクの名前が含まれます。これは、ユーザーのヘルプテキストとして機能します。これは必須ではありませんが、プレイブックのデバッグに役立ちます。各タスクは、モジュールと呼ばれるコードに内部的にリンクしています。実行する必要のあるモジュール、および実行するモジュールに必要な引数。