Ansible playbook を書くのが面倒くさいあなたへ

playbookをゼロから書きはじめるのが面倒くさいひとむけに、既存のplaybookを探したりするためのヒント集。

( ベストプラクティスを伝えるのではなく背中を押すのが目的なので「本来やるべきあれこれ(テスト, CI, 標準化, レビュー, etc.)」については何も書いていません )

Ansible playbook を書くのが 面倒くさいあなたへ playbook 書くのが面倒問題 ● ● A 「 B さん playbook 書ける?」 B 「モジュール全部覚えてるわけじゃないけど調べながらなら 普通に書けますよ」 B .oO( カーネル更新して再起動しよう。あ、 playbook… あーちょっと面倒くさいな……。 1 台だけだし手で……。 ) コレ 背中をひと押し ● ゼロから yaml を書きだすのは面倒 → 既存の playbook を使いまわせばスタート しやすい ● 世の中にはきっと似たことをした人がいるはず → どこを探すべきか ? Ansible 公式の example ● システム構築の例 – ● ansible-examples https://github.com/ansible/ansible-examples Linux/Network/F5/Security の例 ( ワークショップの例 ) – ansible/workshops https://github.com/ansible/workshops ドキュメントのことを忘れない ● Ansible 各モジュールのドキュメントには Examples の節がある – ● http://bit.ly/2LZAs5l See also の節にある関連モジュールも大事 最初に見つけたモジュールよりもよくフィットするモ ジュールが載っているかも 玉石混交でよければ…… ● Ansible Galaxy – ● https://galaxy.ansible.com/home StackOverflow – https://stackoverflow.com/questions/tagged/ansible 評価がつくので酷いものはフィルタされる ( はず ) とっかかりにはしても、裏を取るのを忘れない RHEL メンテナンス用 playbook ● ● Red Hat Insights (RHEL に同梱 ) – 問題の自動検出と、対策用 playbook 生成 – https://red.ht/35lH7yg OpenSCAP + SCAP Security Guide – セキュリティ baseline ポリシー準拠用 playbook 生成 – https://red.ht/2IzY7aq 定型のディレクトリを作る ● role を書くなら ansible-galaxy – – ansible-galaxy init myrole 右図のようなディレクトリと 空のファイルを作ってくれる myrole ├── defaults │ └── main.yml ├── files ├── handlers │ └── main.yml ├── meta │ └── main.yml ├── README.md ├── tasks │ └── main.yml ├── templates ├── tests │ ├── inventory │ └── test.yml └── vars └── main.yml もっとラクがしたい人向けのヒント ● エディタに Ansible 用の拡張を入れる – – ● 色がつくだけでもミスが減る。私見では VSCode の Ansible 拡張が強力 http://bit.ly/35k9Vr7 ansible-lint を使ってしょぼい問題を避ける – https://github.com/ansible/ansible-linthttps://docs.ansible.com/ansible-lint/