chef soloの基本コマンド

vagrantつかってvirtualbox上でchefの勉強中。抵抗あったけど整理すれば思ったより複雑じゃないかも。 とりあえず主要なコマンドたちを。

公式サイトはこちら。

Opscode Community

All about Chef ... — Chef Docs

chef用のrepoを作る

knife solo init chef-repo

こんなディレクトリ構成が作られます。

├── cookbooks(オープンソースからとってきたもの)
├── data_bags
├── environments
├── nodes
│   └── hostname.json
├── roles
└── site-cookbooks(自分のサイト用に変更したもの)

ここでいろいろ作業していきます。

対象のnode(server)をchef対応にする。

chefで環境を作る前に、まずサーバーにchefを入れます。

knife solo prepare hostname

cookbookを反映する

chef-repoに移動して

knife solo cook hostname

あとは

  • cookbookを作る

    • knife cookbook create cookbookname -o site-cookbooks/
  • node/hostname.jsonに使うcookbookを追加する。

  • site-cookbooks以下にあるcookbookを編集する。
  • cookbookを反映する

をぐるぐると回りながらカスタマイズしていく感じのようです。recipeの書き方はdocsを見て別途勉強が必要。