ChefコミュニティのCookbookでサーバー構成管理

前回 Vagrant と Chef-solo を使って、仮想マシン上の CentOS に Git をインストールしてみました。その続きで、今回は Chef のコミュニティで配布してある Cookbook を利用してサーバー構成管理を行ってみます。

Chef超入門、Chef-soloでVagrant上の仮想マシンのCentOSにGitをインストールするとこまで | EasyRamble

スポンサーリンク

Chef 学習の順序としては、まずこのコミュニティの Cookbook をサーバー構成に適用して Chef に慣れた後に、独自カスタマイズの Recipe, Cookbook を作成していくと良いかな〜と思います。コミュニティのクックブックは、以下で配布されています。

Opscode Community

では早速、前回までの作業ディレクトリへ移動。内容を確認。

Gemfile に knife-solo を追加

Gemfile に knife-solo を追加します。knife は chef で利用するコマンドツール群です。

knife solo init で Cookbook 導入・作成の準備

knif が入ったら、knife solo コマンドで init。

なんか WARNING 出ましたけど先に進みます。作成されたディレクトリ・ファイルを確認。

以下のディレクトリ・ファイルが knife solo init により追加されました。各々簡単な説明とともに。

前回 berks コマンドでコミュニティの Cookbook をインストールした時に、パスを vendor/cookbooks に指定しました。

しかし knife solo init によると、どうやら ./cookbooks/ のパスにコミュニティの Cookbook を入れるのが流儀らしい。./cookbooks のパスに変更して入れなおしておきます。

vendor/cookbooks は削除しておく。

Vagrantfile の cookbooks のパスを指定。

Vagrantfile

念のためプロビジョニング。

ここで .gitignore を書いて git 管理下にしておきます。

Berksfile と Vagrantfile にコミュニティのクックブックを設定

Berksfile にコミュニティに既存の Cookbook を追加。

Berksfile

Vagrantfile にレシピ追加の設定を書く。

Vagrantfile

とりあえず練習用なので、指定した cookbook は、パーフェクト Ruby on Railsの8章を参考にさせて頂きました。

プロビジョニング実行

cookbooks ディレクトリが存在すると berks vendor コマンドが失敗するので、最初に rm しておきます。

今回は、インストールするパッケージが多いので、プロビジョニングに時間がかかります。終わったら、ssh でログインして色々パッケージがインストールされたかを確認。

convert は imagemagick のコマンド。以上で、コミュニティの Cookbook を用いて、簡単に複数のパッケージをインストールすることができました。コミュニティで配布されているクックブックは、抽象化されていて Linux ディストリビューションによる差異を気にする必要がありません。Chef さんほんとすごい、便利。

スポンサーリンク
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!