初めてのAnsible

■ 感想

現在の仕事でChefからAnsibleへ置き換えを行っている。Ansibleは前にもやったことがあり、改めて読んでみようと思いつつも積ん読状態にあった本を引っ張り出して少しずつ読んでみた。以前触った時よりも随分とモジュールも増えており、またそもそも知らなかったモジュールも多々あって勉強になった。

■ メモ

3.6 host_vars / group_vars ディレクトリ

知らなかったのでメモとして。今までは`vars_files`で読み込ませるようにしていた。

4.6 組み込み変数

`group_names`等の各種変数をメモ。ちょうど使いたいタイミングで存在を知れた。

4.7 コマンドライン上での変数の設定

$ ansible-playbook test.yml -e @vars.yml

という書き方ができる。

6.6 aptキャッシュの更新

cache_valid_time=3600

`apt`モジュールで使える。

6.10 データベースとデータベースユーザの作成

  • postgresql_user
  • postgresql_db

MySQLもあるのかな?と思ったらやっぱりあった。

  • mysql_user
  • mysqldb
  • mongodb_user

とかもあるようである。

6.11 テンプレートからのlocal_settings.pyファイルの作成

xip.io

こんなサービスがあったのか。これは使えそうである。

7.1 コントロールマシン上でのタスク実行

下記のモジュールが使えそうだな、と思いメモ。

  • local_action
  • wait_for

7.2 ホスト以外のマシン上でのタスクの実行

  • delegate_to

7.4 一度の一つのホストでの実行

  • serial
  • max_fail_percentage

7.5 1回だけの実行

  • run_once

7.9 ホスト指定のパターン

:& 積集合

7.13.1 with_lines

  • slackモジュールがある?
  • → Slack Module で試してみた

8.4 pre_tasksとpost_tasks

へーと思ったので。

9.1. SSHマルチプレキシングとControlPersist

知らんかった。

9.4 並列処理

default forks = 5

14.3 Assertモジュール

そもそも知らなかった。。
表14-1. statモジュールが返す値

14.4.1 構文チェック

--syntax-check

14.4.4” チェックモードの “-C, –check” しか使ってなかったな。

14.5.1 step

タスクごとにスキップとかを使用できる。デバッグ時に良さそうだ。

■ 関連

ncでport開放チェック

対象でコマンド実行

ディレクトリの存在チェック

playbook syntax check