GNU/Linux >> Linux の 問題 >  >> Ubuntu

AnsiblePlaybookファイルを作成して実行する方法

Ansibleは、ユーザーが単一の制御ノードからリモートシステムを管理および監視できるようにする一般的なサーバー構成管理ツールです。 Ansibleを使用すると、各ノードにログインする代わりに、ソフトウェアパッケージをインストールし、サービスをデプロイし、単一のノードから複数のホストで構成を行うことができます。 Ubuntu20.04にAnsibleをインストールしてセットアップする方法についてのガイドはすでにあります。これにより、このガイドを読み進めるときに、紹介とおそらく有利なスタートが得られます。このガイドでは、プレイブックとは何か、プレイブックの作成方法、およびサービスの展開に使用する方法に焦点を絞ります。

ラボのセットアップ

以下に示すように、すでにホームラボがあります。このガイドを最大限に活用するには、ガイドを複製するか、仮想化されたプラットフォームで同様のラボ環境を使用します。

Ansibleコントロールノード IP:192.168.2.106

管理対象ホスト IP:192.168.2.108

セットアップを確認したら、始めましょう。

プレイブックファイルとは何ですか?

Ansibleは、Terraformと同様に、Infrastructure asaCodeに分類されます。これは何を意味するのでしょうか? Infrastructure as a Code(IaC)は、物理的にログインして構成を行うのではなく、機械可読な構成ファイルを使用してホストをプロビジョニングおよび管理するメカニズムとして説明されています。 Ansibleでは、プレイブックはそのような構成ファイルの1つです。

プレイブックは、1つ以上のプレイを含むYAMLのファイルです。遊びとは?プレイは、Webサーバーなどのアプリケーションの展開や構成の作成など、管理対象ホスト上のタスクまたはプロセスを自動化する順序付けられたタスクです。プレイブックには1つまたは複数のプレイを含めることができ、それぞれが異なるタスクを実行します。

プレイは、リモートホストで必要な変更を指定するための特別な機能であるモジュールを利用します。各モジュールは特別で、特定のタスクを定義します。

プレイブックファイルは.ymlで保存されます または.yaml ファイル拡張子。

プレイブックファイルの作成

次に、プレイブックファイルを作成しましょう。このデモでは、greetings.ymlというプレイブックファイルを作成します。 Ansibleディレクトリパス/etc / ansible 示されているように。

$ sudo vim /etc/ansible/greetings.yml

次の構成を追加します。これは、リモートサーバー上のstdoutにメッセージを出力する簡単なプレイブックです。モジュールのインデントに注意してください。

Ansible Playbookファイルは3つのハイフン()で始まります )それがYAMLファイルであることを示します。 「ホスト」 パラメータは、インベントリファイルで定義されたリモートホストまたはホストのグループを指定します。デフォルトでは、 / etc / ansible/hostsにあります。 ここでは、ステージング IPのリモートホスト192.168.2.108が対象となるホストグループです。 定義されています。

リモートホストは、ステージングと呼ばれるホストグループの下で定義されます 次のエントリを使用します。

[staging]

192.168.2.108 ansible_ssh_pass=xxxxxxxx ansible_ssh_user=jack

ansible_ssh_pass ansible_ssh_use 中に、リモートユーザーのSSHパスワードを指定します リモートホストのユーザー名を指定します。

次に、劇の名前は「簡単なメッセージを印刷する」です。 」の後にデバッグが続きます msgで定義されたメッセージを出力するモジュール モジュール。

プレイブックファイルの実行

プレイブックを実行するには、 ansible-playbookを使用するだけです。 以下に示す構文のコマンド。

$ ansible-playbook /path/to/playbook-file

私たちの場合、これは次のようになります:

$ ansible-playbook /etc/ansible/greetings.yml

再生の実行中に、Ansibleは最初に再生が実行されるホストグループまたはリモートホストの名前を出力します-この場合はステージング グループ。次に、Ansibleは、事実と呼ばれるプレイに関する情報を取得します。 そして最後に、プレイブックで指定されたアクションを実行します。ここに、簡単なメッセージが印刷されます。

install_apache_and_git.ymlというプレイブックファイルのさらに別の例を見てみましょう。 以下に示すように。ここでは、2つの演劇があります。最初のプレイではApacheWebサーバーがインストールされ、2番目のプレイではリモートシステムにgitがインストールされます。 になる:本当 パラメータは、期待どおりにリモートユーザーの昇格ユーザーまたはsudoユーザーとしてコマンドを実行します。

プレイブックを実行すると、すべてのプレイが最初から最後まで実行順に一覧表示されます。プレイブックは、gitをインストールする前に、まずApacheWebサーバーをインストールします。 –ask-become-pass 演劇で定義されたタスクを実行するために、sudoユーザーにディレクティブプロンプトが表示されます。

まとめ

これが、簡単なプレイブックファイルを作成して実行する方法です。これにより、Ansibleプレイブックファイル、その構造、およびリモートホストでタスクを実行するためにそれをどのように使用するかについての基本的なレベルの理解が得られたことを願っています。


Ubuntu
  1. Ansibleでファイルを作成する方法

  2. AnsiblePlaybookの作成方法

  3. ファイルを作成してファイルシステムとしてマウントする方法は?

  1. Ansible Playbook:Playbookを作成および構成する方法

  2. AWXGUIを使用してAnsiblePlaybookを実行およびスケジュールする方法

  3. AnsiblePlaybookでJinja2テンプレートを使用する方法

  1. Ansibleロールを作成してPlaybookで使用する方法

  2. Ansibleでカスタムファクトを作成して使用する方法

  3. UbuntuにApacheをインストールしてセットアップするためのAnsiblePlaybook