Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

なので 5

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

突然ですが 7

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

Ansible Iac 構成管理ツール 11

Slide 12

Slide 12 text

必要なもの Python ssh 12

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

他のツールとの比較 Chef 14

Slide 15

Slide 15 text

先に言っておきます 決して Python 押しとか Ruby 押しとかじゃなくて 適材適所かな?という主義です 例 Web のフロントに近い部分は Ruby が好みです 画像加工 は Pillow etc.. 15

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

実行例 19

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

21

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

悩ましい 25

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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