ようへいの日々精進XP

よかろうもん

Chef Casual Talks Vol.1 で 初 LT してきた一部始終

要件

  • Chef Casual Talks Vol.1 で chef に携わっている人、これから携わっている人達の話を聞いて三ツ星 chef を目指せ
  • ついでに自分も喋ってみる

いきなりまとめ

  • とにかく濃かった!!!!!!!!!!!!!!!!!!!
  • インフラエンジニアよりも開発側の人が多くてびっくり...と同時にインフラエンジニアも頑張らんといかんなと思った次第
  • Chef Server も触る必要があるなと思った次第
  • EngineYard さんのステッカーを沢山もらって嬉しかった
  • ビールを二本飲んだ

内容

以下、 Evernote に箇条書きした内容をちょっと整理した。

最近、Vagrantが楽しいのでその辺りを。

vagrant でしょ
  • chef めちゃくちゃ盛り上がっているよね。
  • ベストプラクティスがわかんない
  • 孤独のシェフ、コードレビューとかもやらない
  • EngineYard では第3月曜日に勉強会
  • Chef って本来のアーキテクチャはクラサバ構成→面倒
  • chef-solo があるぢゃん
  • vagrant(べいぐらんと)
    • 2010 年から開発されている
    • HASHICORP のはしもとさん
    • vagrant 1.1 系からプラグイン機構、色んなプラグインが作られるようになった
    • chef とか puppet とか cfengine に対応
    • 2 系が出るぞ
    • ちなみに EngineYard は chef-solo
    • ラズベリーパイって何??

nanapiの利用事例

nanapi というサービスで chefserver 使ってます
  • knife-solo はサーバー構築時
  • Chef-server について
    • サーバーの構成管理に使っている
    • リポジトリを分けている
    • 最初は subversion → chef-solo → chef-server
    • アトリビュートは優先順位が複雑
    • chef-client はデーモン化しない
  • chef-server にしてよかったこと
    • role の管理がやりやすい
    • アトリビュートの管理がやりやすい
    • 設定ファイルのバージョン管理が簡潔になった

これからちょうど新規にサーバー立てる予定があるので、ハマった事や疑問点などなど…

ハマったところ
  • ssh のポート変更
  • ufw の設定変更
  • 鍵をどうやって管理しようか…→リポジトリに入れてしまいたい
  • 初心者あるある
    • bash だらけ…
    • 既存サーバーへの適用はどうするか?

ChefとCapistranoの使い分けでハマった点

  • ポリシー
    • 原則サーバー上で作業しない
    • 公開された cookbooks を再利用する
    • あきらめのこころ
  • chef-solo-search
  • サーバー構築とデプロイの境界線
  • 質問
    • unicorn のプロセス管理
    • 初回のデプロイをどうするか?
    • chef でどこまでやっていますか?

使っている cookbook の紹介もしくは roundsman の紹介

  • cookbook を書かない(community のものを使う)
  • roundsman
    • capistrano から chef-solo を実行するもの
    • 並列実行出来る(chef-solo は出来ない)
  • 疑問(質問)
    • セキュリティアップデートはどうしているの?
    • Environmentsって

Vagrant1.1系でハマったところ もしくは、 vagrant + chef 勉強会をやってみた件について

  • vagrant 1.0 と vagrant 1.1 どっち使ってますか?
    • 自分はうっかり vagrant 1.0 系だった
    • バージョンの違いで使える使えないことの違いが多い

Cookbooks の品質を向上させるためにどんなアプローチがあるのか (rpmバージョン固定、

  • not_if で制御していいもの?
  • Chef 11 にバージョンアップしたら warning が出るようになった
  • 本当にこれで正しいのかが分からない!
  • foodcritic を使うといいかも!

最近、日本でPuppetの影が薄くなって悲しいので、ここであえてPuppetの話をする

  • puppet の話
  • puppet のベストプラクティス
    • StyleGuide
    • Module Fundamentals
    • Writing Grate Moduels
  • puppet 最新バージョン3
    • puppet forge
    • ベンダー連携が盛ん
    • VMware から出資
    • Juniper JunOS 上で Puppet Agent が動く
  • puppet をディスるのを止めて下さい

デプロイで苦労していることの相談など。chef

  • sociogram というソーシャルサイトのログ分析システムでのお話

開発に関わらないChefユーザの日々

  • 口伝!
  • どうやって伝承するのか?
  • 経験をソースコード
  • ノウハウを落としこむ
  • cookbook 作成時の留意点
    • 特定のサービス・ソフトウェアに特化しない
    • 自由度の確保
    • 顧客の環境を傷つけずに自動化
    • 運用の自動化の推進
    • プログラムを書く IT インフラエンジニアってカッコイイねえー
  • omuibus インストールは /usr/local/bin を触る
    • ギャー!

vagrant-lxc を試してみた

  • ぺぱぼの人だ!
  • puppet
    • と言えば mizzy さん!
  • vagrant-lxc
    • Linux のネイティブ仮想環境
  • vagrant-lxc と vagrant/VB の速さを比較
    • vagrant-lxc の速いけど...

この辺りから緊張で何も覚えてない...

CloudStack インストール Cookbook

  • 一年前のレシピは...
  • 現在は色々と改良を重ねて
  • omnibus インストールは /usr/bin/chef とか消してるよ。。。

ワタシは新米板前です

  • 新婚さんいらっしゃい出演の話しかしてないです...

ローカルPCのMacをchefで管理してみた(Beta)

  • キタコレ
  • 実際に cookbooks を見せて頂きながらの LT
  • アプリのインストールからコントロールパネルの中の設定まで書けてしまう!
  • Windows もきっと出来るんでしょうな...

最近使いだしたのではまった事や疑問点など

  • knife solo prepare よりは bootstrap を使うといい
  • 濃いな...

マイグレーション

  • chef 11 は速い
  • chef 10 から chef 11 への移行について
    • knife backup で JSON 形式で設定を吸い出す等など
    • 詳細はこちら
  • 本場のカンファレンスに参加予定です
    • chef に纏わる質問を現地で聞いてくるので、ぢゃんぢゃん質問して下さい

chef入門してみてvagrantでうまくberkshelfが動かない話

  • chef-solo の限界点とは?
    • 20 台くらいになったら苦しいと言われている

urasoko さん

  • ブラウザタグでプレゼン!
  • 面白いしテンポがいいなあ
  • #opschef_jp を付けて質問しよう

まとめ

  • ここまで書く間で濃すぎて吐きそう(笑
  • 実際に現場でバリバリ chef を使っている方の深い話から、最近始められた方のあるあるな話まで幅広い話であっと言う間の時間だった
  • roundsman は早速使ってみたいと思った
  • だいたい皆さん vagrant を使っているなった思いつつ LXC な方の話も聞けた
  • puppet もまだまだイケるなって思ったので、引き続きアンテナは張り続けていきたい
  • chef が ruby で書ける所以なのか、chef でどこまでやる(やれる)のかが皆さんの悩みどころなのかなって印象
  • 「これ!」と言ったスタンダードが無いのが(・∀・)イイネ!!

おまけ

  • 祝・初 LT 資料!