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

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

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

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

79c2f7db29ee6df3e1ceb85c6a0126d3?s=128

Kazuo Moriwaka

October 10, 2019
Tweet

Transcript

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

  2. playbook 書くのが面倒問題 • A 「 B さん playbook 書ける?」 B

    「モジュール全部覚えてるわけじゃないけど調べながらなら 普通に書けますよ」 • B .oO( カーネル更新して再起動しよう。あ、 playbook… あーちょっと面倒くさいな……。 1 台だけだし手で……。 ) コレ
  3. 背中をひと押し • ゼロから yaml を書きだすのは面倒 → 既存の playbook を使いまわせばスタート しやすい

    • 世の中にはきっと似たことをした人がいるはず → どこを探すべきか ?
  4. Ansible 公式の example • システム構築の例 – ansible-examples https://github.com/ansible/ansible-examples • Linux/Network/F5/Security

    の例 ( ワークショップの例 ) – ansible/workshops https://github.com/ansible/workshops
  5. ドキュメントのことを忘れない • Ansible 各モジュールのドキュメントには Examples の節がある – http://bit.ly/2LZAs5l • See

    also の節にある関連モジュールも大事 最初に見つけたモジュールよりもよくフィットするモ ジュールが載っているかも
  6. 玉石混交でよければ…… • Ansible Galaxy – https://galaxy.ansible.com/home • StackOverflow – https://stackoverflow.com/questions/tagged/ansible

    評価がつくので酷いものはフィルタされる ( はず ) とっかかりにはしても、裏を取るのを忘れない
  7. RHEL メンテナンス用 playbook • Red Hat Insights (RHEL に同梱 )

    – 問題の自動検出と、対策用 playbook 生成 – https://red.ht/35lH7yg • OpenSCAP + SCAP Security Guide – セキュリティ baseline ポリシー準拠用 playbook 生成 – https://red.ht/2IzY7aq
  8. 定型のディレクトリを作る • 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
  9. もっとラクがしたい人向けのヒント • エディタに Ansible 用の拡張を入れる – 色がつくだけでもミスが減る。私見では VSCode の Ansible

    拡張が強力 – http://bit.ly/35k9Vr7 • ansible-lint を使ってしょぼい問題を避ける – https://github.com/ansible/ansible-lint – https://docs.ansible.com/ansible-lint/