Ansibleをインストールする!
はじめに
くーばねてすを倒すために今回はNode.jsをやっつけないといけなくなったのでNode.jsの設定をデーモン化したものをAnsibleで自動化するために色々調べた(^^)/!
概要
■Ansibleとは
■Ansibleインストール
■Ansibleで使うもの
をまとめた(^^)/
■Ansibleとは
先行製品として有名なPuppetやChef等で実現できることを踏まえつつ、より利用しやすくなるよう改善されたものとなっている。
Ansibleは構成管理、設定作業を手作業で行うことを自動化するツールだ。
Ansibleコマンドが導入されているサーバーでAnsibleコマンドを実行すると、被管理サーバーへアクセスして各種設定を行ってくれる。
被管理サーバー側に、事前設定としてAnsibleのクライアントを導入する必要はないので利用しやすい。
被管理サーバーへのアクセスと設定の反映するには、対象がLinuxサーバーの場合はSSHプロトコルとPythonを、Windowsの場合はWinRMプロトコルを使えるようにすることが必要である。
Ansible特性
・工数の削減ができる
・自動的に構築作業が実行されるため、オペレーションミスがなくなり品質が向上する。
・Playbookというファイルに環境構築に関する設定情報をYAMLにより定義する。
・様々な機器を操作するためのモジュールを使用することができる。
・構築対象となるサーバ、機器に対して事前準備をする必要がないため、不要なアクセスをなくすことができる。(環境構築、セキュリティリスクがなくなる)
Ansibleはクライアントが不要であることと記述のシンプルなので、多数のサーバーに標準化された設定を適用するのに向いている。
ChefやPuppetは複雑な処理の記述が可能なので、少数のサーバーに対して、サーバーごとにカスタマイズされた設定を適用するのに向いている。
■Ansibleインストール
ubuntuにインストール
$ sudo apt update
$ sudo apt install software-properties-common
$ sudo apt-add-repository --yes --update ppa:ansible/ansible
$ sudo apt install ansible
$ ansible --version
RHEL,CentOS にインストール
$ yum install epel-release -y
$ yum install ansible
$ ansible --version
■Ansibleで使うもの
・コントロールノード
Ansibleを実行する端末
・ターゲットノード
操作対象のサーバー
・プレイブック (Playbook)
実行したい処理を記述するYAML形式のファイル
・モジュール (Module)
プレイブックの中で利用できる環境構築の部品
・インベントリー (Inventory)
操作対象機器のIPアドレスやホスト名(ドメイン名)を記述するファイル
など
まとめ
Ansibleって響きがいい感じだと思った(>_<)
Discussion