長田研勉強会 20140729 Ansible

M1担当回

今回は構成管理ツールのAnsibleのお勉強。
担当はM1の@328__君でした。
Ansibleなら4月くらいからちょくちょく触ってるので僕がやっても良かったんですけど、やりたそうだったのでやってもらいました。

Ansibleとは

ansibleの基本的なお話から入ってました。
「構成管理ツールで〜」とか「他にもchefとかpuppetとかあって〜」とか「他の構成管理ツールと違って〜」です。

インフラのコード化ってのは進んでいて、ここ最近の勉強会ではずっとそれ関連ですね。

kickstartはOSインストールを自動化。

packerは仮想マシンのテンプレート作成の自動化。
kickstartなんかと連携することでvmの作成とOSの自動インストールまでやってくれます。
vagrantの作者がpackerも作っていて、vagrantのboxを自動作成するツールって具合で認識してます。

今回のansibleはサーバの構成管理をコード化しちゃおうってやつです。
コード化って言っちゃうとプログラム的に思ってしまう人もいるかもしれませんが、そんなことはないです。
・kickstartは設定テキストの羅列
・packerはjson
・ansibleはyaml
でプログラム要素はほぼありません。
ほぼって書いたのは、Ansibleでは変数を利用することができるからですね。

そういえば「この辺りはImmutable Infrastructureな話とかと絡めて理解すると結構面白いかもしれません。」を勉強会で言うの忘れてました、ってことでここで補足。

あとは、chefなんかとの比較がもう少しあっても面白かったかと思います。
コマンドの違いとか。
chefはknifeとかchef-soloとかknife-soloとか個人的にややこしかった印象しかありません…。
あまりやってないのでやればまたchefの良さも分かりそうですが、そこまでやろうと思えませんでした。

今ならchefもやりたいですね。ansibleと比較したいのでw

Handson

説明の後にはいつも通りHandson的に「じゃあ実際にやってみよう」です。

Ansibleは複数のtaskを組み合わせることでplaybookというものを作ることができます。
それを作ってwebサーバを構築してみよう、みたいな。
ここもいろいろ躓きまくりでしたね。
ansibleをbrew installするのとpip installするのでpathが違っててややこしいことが起こっていたり。
この辺りから僕はB1がプログラミングの質問に来てフェードアウトしちゃったので勉強会資料を早いとこアップロード欲しいですw

次回

僕も何か話した方がいいのかな、ってことでメンバーな人にどんなことしたいか確認中。
次回もまた火曜日になると思いますー。

1ヶ月ちょっとくらい後輩交えて勉強会って形にしてますけど、勉強になること多くて楽しいですね。
今後もこんな感じで毎週開催していく方向で進めたいです。