$30 off During Our Annual Pro Sale. View Details »

ansible-gunmaweb.pdf

 ansible-gunmaweb.pdf

kanayannet

June 01, 2019
Tweet

More Decks by kanayannet

Other Decks in Programming

Transcript

  1. 今さら聞けない Ansible
    Gunma.web #35
    1

    View Slide

  2. 改めて自己紹介
    2月に子供が生まれたばかり
    (まだまだ)真夜中の粉ミルク職人
    特技: ○○ml キッカリで作れます!
    ええ仕事しますよw
    2

    View Slide

  3. 今日話すこと
    目的
    Iac
    Ansible
    他のツールとの比較
    実行例
    はまったよ・よかったよ
    まとめ
    3

    View Slide

  4. 目的
    知らない人に紹介する際の練習
    頭の体操
    ある程度使ってみたので、発表資料にまとめてみようと思った。
    4

    View Slide

  5. なので
    5

    View Slide

  6. 不明点などありましたら、遠慮なく言っても
    らえると助かります!
    質疑応答
    懇親時間
    2次会
    酔った勢いで
    6

    View Slide

  7. 突然ですが
    7

    View Slide

  8. ご存知ですか?
    Infrastructure as Code(IaC)
    8

    View Slide

  9. What?
    インフラ構成をコードにしておく
    ミドルウェア、実行環境を 手動で install コマンドを都度叩くのでは
    なく
    自動実行できるようにしておく
    9

    View Slide

  10. メリット
    自動化(手間を省く)
    ヒューマンミスを減らす
    コードで管理するので、バージョン管理可能
    10

    View Slide

  11. Ansible
    Iac
    構成管理ツール
    11

    View Slide

  12. 必要なもの
    Python
    ssh
    12

    View Slide

  13. 特徴
    Push型
    ssh があれば実行できる
    構成管理をYAMLで記述していく
    13

    View Slide

  14. 他のツールとの比較
    Chef
    14

    View Slide

  15. 先に言っておきます
    決して Python 押しとか Ruby 押しとかじゃなくて
    適材適所かな?という主義です

    Web のフロントに近い部分は Ruby が好みです
    画像加工 は Pillow
    etc..
    15

    View Slide

  16. 比較表
    Chef Ansible
    ツール自体の言語 Ruby Python
    構成管理
    Format Ruby(DSL) Yaml
    Clientに必要なもの 専用エージェント ssh
    タイプ pull型 push型
    16

    View Slide

  17. ここポイントかな?(1)
    Ruby(DSL) と YAML
    YAML
    全体的に読みやすい
    細かいことをやらせようとすると、限界が汗
    別ファイルに シェルスクリプトを記述し実行は可能
    Ruby(DSL)
    Ruby(DSL)の書き方に慣れる必要がある
    細かいことはこっちの方が得意かな?
    17

    View Slide

  18. ここポイントかな?(2)
    専用エージェント と ssh
    専用エージェント
    client に install が必要
    ssh
    まあ、みんな大体入れるだろうから、意識する必要がない
    よね
    18

    View Slide

  19. 実行例
    19

    View Slide

  20. 20

    View Slide

  21. 21

    View Slide

  22. はまったよ・よかったよ
    22

    View Slide

  23. よかった
    沢山ある
    ssh だけでOK
    YAML 読めれば大体読める
    YAML の中で変数使える
    etc...
    23

    View Slide

  24. はまったよ
    粒の切り方
    細かいところは shell script 書けるが..
    どこから sh ファイルにするか?
    変数使えるが..
    YAML ファイルをどう分けるか?
    24

    View Slide

  25. 悩ましい
    25

    View Slide

  26. ってかデザインパターン欲しいね
    26

    View Slide

  27. webのチュートリアルとか(日本語はちょっと古い Cent6)
    github で公開されてるものも参考になるかな?
    27

    View Slide

  28. まとめ
    chef(or その他)で既に慣れてたり、出来てるのであれば無理にやる
    って程でもないかな?
    とはいえ、新規で作るものに関しては便利なのでやりたいね。
    sshがあれば行けるのと や YAML
    Ansible のベストプラクティス的なものが欲しくなる
    参考: 「ansible tutorial(日本語版)」「入門Ansible」
    28

    View Slide

  29. ご清聴ありがとうございました
    29

    View Slide