2

chef-soloを使い始めたばかりです。私はchef-soloを使用して、Ruby onRailsWebサーバーを最初から構築し始めました。ブートストラップファイル(deploy.rbとinstall.rb)に加えて、2つの構成ファイル(solo.jsonとsolo.rb)があります。Webサーバーをセットアップする一連のロールとレシピを実行するようにsolo.jsonをセットアップしました。

今度は、chef-soloを使用して、独自のカスタマイズでmythtvボックスを作成したいと思います。solo.jsonを使用する代わりに、「web_server.json」と「mythtv.json」を使用して、これらのサーバーを作成するためのさまざまなレシピ/ロールを一覧表示する必要がありますか?

論理的には機能するはずですが、もっと良い方法はありますか?/これは正しい方法ですか?

これが私のこれまでの完全なセットアップです(現状では、Ruby on Rails用のWebサーバーを構築しています)。

https://github.com/map7/chef-solo

1つの方法は、chef-soloディレクトリ全体をコピーし、Mythtvボックスを作成するためにカスタマイズすることですが、その後、chef-soloブートストラップと構成ファイルの2つのセットを維持する必要があり、一部のクックブックは両方の状況で使用されます。MythtvとWebサーバーの両方で必要なapache2など。

4

1 に答える 1

6

私はドキュメントといくつかのシェフソロチュートリアルに注力しました、そしてここに私が思いついたものがあります。ほとんどすべてのプログラムと同様に、それを行うには1つ以上の方法があります(TIMTOWTDI)。私は自分のチュートリアルをすることを考えています...

主な構成オプションとしてbase.jsonを作成します。ユーザーアカウント、sshのみにアクセスできるiptables、ユーザーのsudoなどです。両方の(すべての)マシンで同じものになります。次に、神話マシンの役割を作成し、それを役割フォルダーに配置します。新しいロールを作成するときは、base.jsonを編集して、ロールを実行リストに追加するだけです。

また、site-cookbooksフォルダーが表示されません。chef-soloを始めたときも、これについてはよくわかりませんでした。これが必要です。クックブックを変更する場合(最終的には変更します)、変更したファイルを元のクックブックと同じディレクトリ構造のsite-cookbooksフォルダーに配置します。apache2テンプレートを編集したい場合は、site-cookbooks-> apache2-> templates-> default-> apache2.conf.erb(たとえば)に配置します。実行時に、シェフは元のテンプレートではなくテンプレートを調べます。これにより、追加/変更を簡単に追跡でき、元のクックブックを簡単にアップグレードすることもできます。したがって、クックブックのtarballは1つだけになります。jsonからレシピ/ロールを呼び出さないと、実行されません。chef-soloレポジトリ内で、tarballを作成するために、次のコマンドを実行します。

tar zcvf chef-solo.tar.gz ./cookbooks ./roles ./site-cookbooks ./data-bags

最後に、chef-soloの新しいバージョンは、データバッグを使用する機能にある程度の愛着を持っており、検索を可能にするクックブックが作成されています。どちらもクライアントサーバーセットアップの重要な部分であり、chef-soloに追加されることはないと思いました。シェフソロFTW!

私のブートストラップfwiw。 https://github.com/tripleonard/chef-solo-bootstrap

乾杯!

于 2011-10-31T18:00:08.393 に答える