【Ansible】プレイブックとインベントリーとは?
【結論】
インベントリーは管理対象機器の接続情報のリストをまとめたファイル。
プレイブックとは管理対象に対して行う操作の一覧を記述したフィル。
【目次】
はじめに
Ansibleで平仮名の「あ」を書いてみたので、ブログにまとめました。
Pythonで書いた場合のイメージ
Ansibleでの自動化処理は、「プログラミングをやったことがない人でも簡単に書ける。」という夢に向かって、開発者が日々頑張っています。
しかし、自称プログラマーの私に取って、分岐とループを使って処理を考えた方が分かりやすいです。
なので、Ansibleのソースを説明する前に、似たような処理をPythonで書いてみました。
# インベントリ inventory = { "test_servers":[ "192.168.10.1", # IPアドレスは適当 "192.168.10.2", # 同上 ] } # プレイブック for host in inventory["test_servers"]: print(f"ping {host}") #仮でログ出力
上記処理はAnsibleの動作イメージを把握するためのソースです。test_servers
に記載されたIPアドレスのリストに対してping
コマンドを実行しているイメージです。
Ansibleのソースファイル
Pythonで書いたサンプルソースをAnsibleで書く場合は2つのファイルに分けて記述します。
インベントリ(.ini形式のファイル)
[test_servers] 192.168.10.1 192.168.10.2
プレイブック(.yml形式のファイル)
--- - hosts: test_servers tasks: - name: ping test ping:
Pythonで書いたソースが全てを語っているので、Ansibleのソースについては何も触れません。
というか、触れれません😭
プレイブックを実行するためのコマンド
$ ansible-playbook -i [インベントリファイルのパス] [プレイブックファイルのパス]
参考情報
さいごに
睡魔に負けず、Youtubeの誘惑にも負けず、今日のブログもなんとか書けました。