序章
シェフはオープンソースのRubyベースのツールとフレームワークであり、サーバー管理を高度に自動化し、事前構成されたVPSを、構成方法を正確に覚えていなくても迅速に展開できます。
これは、テスト、開発、データベース、および本番サーバーを個別に使用することが一般的であるため、ますます重要になっています。 それぞれに固有のリソースと構成があります。
単一のVPSのインストール、構成、更新、および保守は、時間のかかる反復作業です。 Chefを使用すると、自動化された一貫性のあるスケーラブルなロールアウトを簡単に実行できます。
結論として、Chefは構造化された再利用システムを提供することで、時間とお金を節約します。
Chefの開発者であるOpscodeには、Ubuntuの簡単なクイックインストールスクリプトがありますが、RubyonRailsを使用する場合のインストール方法は不適切です。 代わりに、このチュートリアルでは、実際のRuby環境をセットアップする方法を示します。
次のコマンドを使用してRubyをインストールすることを期待できます。
sudo apt-get install ruby
ただし、VPSでRubyの複数のバージョンを扱っていない場合でも、gemの衝突や、特定のgemバージョンを必要とするプロジェクトで問題が発生するため、これはお勧めしません。 Rubyバージョンマネージャー(RVM)は、これらすべての問題を簡単に解決します。
注:RVMの代わりにrbenvを使用することも、実行可能なオプションです。 RVMがこのチュートリアルに選ばれたのは、すべてが同じであるため、必要であるが手に入れることができないことを発見するよりも、より多くの電力を利用でき、必要がない方がよいからです。
ステップ1:Rubyバージョンマネージャーを使用してRubyをインストールする方法
RVMには、Bash、Curl、Gitの3つの依存関係があります。
Bashはデフォルトでインストールされるため、次のコマンドを使用してインストールする必要があるのは他の2つだけです。
sudo apt-get install git-core curl
これで、次のコマンドを使用してRVMをインストールできます。
sudo \curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
依存関係とRubyソースコードをダウンロードしてビルドするので、これには5〜10分かかります。
注:ChefはRuby 1.9に対して開発されているため、Ruby1.9.3をインストールしています。
完了すると、次のメッセージが表示されます。
* To start using RVM you need to run `source /usr/local/rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows.
それを実行し、次のコマンドを実行します。
source /usr/local/rvm/scripts/rvm
ここで、次のコマンドを使用してRubyが正しくインストールされていることを確認します。
ruby -v
Linuxの32ビットバージョンの場合、次のように表示されます。
ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]
Linuxの64ビットバージョンの場合、次のように表示されます。
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
次に、コマンドを使用してgemが正しくインストールされていることを確認します。
gem -v
次のようなバージョン番号が表示されます。
1.8.25
RubyまたはRailsの開発者でない場合は、次のコマンドを使用して、すべての新しいシェルのデフォルトとして1.9.3Rubyを設定することをお勧めします。
rvm use 1.9.3 --default
注:これにより、以前にインストールされたバージョンのRubyが上書きされます。
ステップ2-Chefをインストールする方法
Chefのインストールは、次のコマンドを使用してすばやく簡単に行うことができます。
gem install chef --no-ri --no-rdoc
ここで、Chefがコマンドで正常にインストールされていることを確認します。
chef-solo -v
これにより、次のようなバージョン番号が返されます。
Chef: 11.4.4
さらに、Knife-Solo、Berkshelf、Foodcriticの3つの便利なアドオンをインストールします。
Knife-Soloは、chef-soloでインスタンスのプロビジョニングを可能にするChefのナイフツールのプラグインです。 これにより、chef-clientを実行する必要がなくなり、chefサーバーが必要になるため、小規模な展開が容易になります。
次のコマンドでインストールします。
gem install knife-solo --no-ri --no-rdoc
Berkshelfは、ローカルファイル、git、およびchefサーバーからクックブックを作成、バンドル、およびプルするのに役立ちます。
Berkshelfには、次のコマンドを使用して、最初にいくつかの依存関係をインストールする必要があります。
sudo apt-get install libxslt-dev libxml2-dev
次に、次のコマンドを使用してBerkshelfをインストールします。
gem install berkshelf --no-ri --no-rdoc
ここで、次のコマンドを使用してBerkshelfが正しくインストールされていることを確認します。
berks -v
これにより、次のようなバージョン番号が返されます。
Berkshelf (2.0.7)
Foodcriticは、ChefCookbooksで問題を見つけるのに役立ちます。
次のコマンドでインストールします。
gem install foodcritic --no-ri --no-rdoc
次に、次のコマンドを使用してFoodcriticが正しくインストールされているかどうかを確認します。
foodcritic -V
これにより、次のようなバージョン番号が返されます。
foodcritic 2.2.0
注:疑問に思われる場合は、オプション–no-ri –no-rdocを使用して、ドキュメントの作成をスキップします。
次のステップ
このチュートリアルでは、ソフトウェア開発に適した実際のRuby環境にChefをインストールする方法について説明しました。
独自のレシピを作成するか、サードパーティのレシピを使用して自動化を開始するためのすべてがほぼ整っています。