最近の私のchef周りの事情
どうやら台風が来るらしい。
台風にえしゃこらされて頑張ってる雨の音を肴にビール飲みながらブログ書いてる。
台湾ビール旨い、そしてフラフラする
んでまぁ、
事務職をドロップアウトしてインフラ周りのお仕事に戻って二ヶ月ぐらい。
サーバ管理ツールとしてchefをまた使い始めた。
chef周りのテストとかの運用ってどうするべきなのかなーと悩んだりしているのだが、現状のところを纏めてみる。
どうしたもんかなー
使用しているツール
- chef-solo
- Berkshelf
- Vagrant
- sahara plugin
- serverspec
こんな感じ。
今まではchef-serverを主に使っていたのだが、
chef-serverじゃないといけない理由もないし、
触ってみたこと無いやっていうモチベーションでchef-soloを使い始めた。
Berkshelfも依存関係管理すんのメンドイな、とか使ったことねーなーというモチベーションで始めた。
てか、意外とcommunityのcookbook使ってるのよね、最近。
まぁ、使ってみたら意外と便利。
Vagrantは完全にテスト用。
後述するが別にvirtualboxでもワンチャン実現可能じゃね?って言われそうな用途で使用しているが、
sahara-pluginが便利でVagrantに落ち着いている。
serverspecは最近使い始めた。
chef適用後の構成管理もちゃんとしたいなと思い使い始めてみた。あと、chefで管理してない部分とかね。
LDAPやら、NICやら、
なんだけど、今のモダンなchef周りの運用ってどんな感じなのかしら。
ダレか教えてよ(適当
おまけ
今のchefのテスト環境を作るに至るまでに辿ってきたページ。
chef-solo - Chefを読んで実行するための全知識 - Qiita
Cookbookの管理を楽にするBerkshelfの使い方( ー`дー´)キリッ とか。 - 256bitの殺人メニュー
saharaでVagrantの状態管理 - Qiita
serverspec インフラ層のテスト項目を考える | Ore no homepage
すごいわかりやすいです、いつもお世話になってます。
おまけ2
vagrantのメモ
chefのテストはvagrantを使用している。
社内用に少し改良したvagrantboxを使用しているがそれ以外は特別なことはしていない。
vagrant upする時にchef_soloを走らせてもいいのだが、chefのレシピのテストでいちいちup&destroyを繰り返してたら時間がいくらあっても足りない、のでsahara_pluginを使って以下のように実行している。
# cd Vagrant用のディレクトリ # vagrant ssh-config >> ~/.ssh/config # sed -i 's/Host default/Host kakeru_vagrant/' ~/.ssh/config # cd hogehoge/chef-repo #chefのRepositoryに移動してね # knife solo prepare kakeru_vagrant # knife solo cook kakeru_vagrant # vagrant sandbox on # vagrant sandbox commit # テストしたいレシピを実行 vagrant sandbox rollback #初期状態へ
ssh kakeru_vagrantでノンパスログイン出来るように、ssh_configを書き換えておく。
その後に、どのサーバにも適用するようなbaseのレシピを適用した後にcommit。
そしたら、作成中のレシピを当てて、ミスったらrollback、修正して適用、rollbackみたいな感じ。
おまけ3
chef-soloがんばるぞ~って矢先にchef-soloやめっからって公式が言い出したみたい。
Chef-Soloはオワコンになりlocal modeが今後の主流になるとのこと - DQNEO起業日記
あらまぁ。
hoge
なんか日記みたいなブログやな・・・