BerkShelfやってみました vagrantをもっと気軽に使いたくて

BerkShelfやってみました vagrantをもっと気軽に使いたくて個人でchefを利用していたけれどあまり使わなくなった。自分で一つ一つつくろうというのは最初は良かったけど、途中からちょっと面倒出し小回りが効かなくなってしまって。。でも、使いたいということで、もっと気軽に使える方法として気になっていたBerkShelfを試してみました。

BerkShelfはChefとその依存関係を管理するツールということです。

インストール

rubyのgemとして提供されています。早速インストール。(いろいろあったんですが、結局、berkshelf2は開発が終了しているということで、最新版を入れることにしましたなので-preがついています。)

$ gem install berkshelf --pre

BerkShelf公式サイト

こちら見ていきます。

Cookbook管理サイト

このサイトに転がっているCookbookを組み合わせて環境構築ができるみたいです。

早速やってみる

で、公式サイト見たり参考サイト見たりしてやった見たんだけどうまく行かずはまる、はまる。。。ということで、もう自分なりのやり方でやることにしました。

自分のchef-repoをクローンしてくる

.
├── Vagrantfile
└── chef
    ├── data_bags
    ├── environments
    ├── nodes
    ├── roles
    └── site-cookbooks

シンプル。

BerkShelfでレシピを追加

$ berks vendor cookbooks

SSHアクセスのための設定を取得

で、一旦、

$ vagrant up

して、仮想環境を立ち上げます。そして、sshでアクセスするための情報を書き出します。

$ vagrant ssh-config --host vagrant_trial >> ~/.ssh/config

nodeを追加

chefリポジトリ直下で下記のコマンドを実行し、nodeを作成します。

knife solo prepare vagrant_trial

これで、nodes以下にvagrant_trial.jsonというファイルが出来ます。jsonファイルに適用したいrescipeを書き込んでいきます。

レシピを反映させます

knife solo cook vagrant_trial

こんな感じでとりあえずできました。まだまだわかってないことの多い、さらに調べるのに骨が折れるchefですが、少しずつ知識を増やしていければなとおもももいます。

次回からはberk vendor cookbooksやるまえにcookbooksディレクトリを削除する必要があるかも。あと、Berksfileは必要そうなもの色々入れて、使わないものはコメントアウトしたりして成長させていけるかも。

リンク

Pocket
LINEで送る

You may also like...