自分に向けたメモ代わり
Ansibleとは
レッドハットが開発している、"構成管理ツール"
といわれても、、構成管理ってなんだ。
構成管理ツールについて(補足)
クラウド、サーバ、ネットワークなどインフラの様々な構成を管理するためのツール
有名どころは以下の3つ
①Puppet
②Chef
③Ansible <--- 今回のテーマ
Ansibleの特徴
・シンプル
YAMLという形式で記述された設定ファイルで実行
シンプルで学習コストが少ない
・エージェントレス
コントロール側にAnsibleがありターゲット側にはAnsibleが必要ない
SSHで接続ができる環境であれば即時使用可能
・豊富なモジュール
モジュールがあれば対応可能
ネットワーク機器にも使えるのでネットワーク屋の私的にも期待がすごい
- ios
- Junos
- A10
- Nxos
ネットワークモジュール:http://docs.ansible.com/ansible/latest/modules/list_of_network_modules.html
※サーバ系のモジュールほうが圧倒的に多いが私がネットワーク屋なので恣意的に選出
構成要素
基本的には以下の3つ
・ansible.cfg
Ansibleの設定ファイル
たとえばどこのインベントリファイルを参照するなどの設定を書き込む
・インベントリファイル
認証情報(ipとかhost名とか)を記載する場所
拡張子は「.ini」が一般的な模様、拡張子なしでも可
・Playbook
イメージは作業手順書
どこに(インベントリファイル内)の誰(ホスト)に対して何(モジュール)を実行するかを定義したもの
※ざっくりとしたイメージのため語弊があるかもしれません
まとめ
Ansibleは"構成管理ツール"
ネットワーク機器やサーバなどの構成情報を管理できるもの、対象範囲は広くモジュールが対応していれば即時投入可能
インベントリファイルやPlaybookなど自分で作成するファイルはシンプルで学習コストも低い
最近バージョン2.5がリリースされて盛り上がってる?