2016-05-17 3 views
3

私は人形の周りに頭を浮かべて苦労しています。問題を悪化させるために、私はRed Hat Satellite 6を使用しています。類似の役割を持つサーバーは、プロファイルが異なる1つの役割、またはサーバーごとに異なる役割を持つ必要がありますか?

私は現在grpahiteグラフソリューションを構築中です。サーバーには3つのタイプがあります(リレー - データの受信、キャッシュ - データの保存、グラフ - Grafanaの実行、キャッシュへの通話)。

私は2つの異なる同僚に2つの異なる方法を実行するよう指示しています。私の最初の利用可能な方法は、 'role_graphing'を作成し、次にrole_graphing :: relayなどの 'sub-roles'を持つことです。 2番目に利用できる方法は、サーバーごとに役割を持つことです。

私は現在、第一の方法で行ってきた、と私init.ppは、次のようになります。

class role_graphing { 
    include profile::graphing_base 
} 

class role_graphing::relay inherits role_graphing { 
    include profile::carbon_c_relay 
} 

class role_graphing::cache inherits role_graphing { 
    include profile::carbon_cache 
    include profile::carbon_c_relay 
    include profile::graphite_web 
    include profile::memcached  
} 

class role_graphing::graph inherits role_graphing { 
    include profile::graph 
} 

そして、私のマニフェストフォルダに、私はそうでprofile_relay.pp、profile_cache.ppとしています。各プロファイルは、単にYumまたはForgeから必要なパッケージをインストールし、それらを構成します。

私はこれについて「正しい」方法を考えていますか?

答えて

3

あなたに直接アドバイスするのではなく、これらの用語のためにPuppetlabsが持っている意図を説明し、例をあげて一般的に見ていきます。

モジュールは、マニフェスト、関数、ファイル、テンプレートなどの集合です。 プロファイルは、1つ以上のモジュールの集合です。 ロールは、1つ以上のプロファイルの集合です。 サーバーは、1つ以上のロールのコレクションです。

例:

localhost.localdomainをでのapplication_server

ロールのapplication_serverがプロフィールランプを含み、

プロフィールランプは、Apacheは、MySQL、およびPHPモジュール

プロファイルweb_appsが含まweb_apps app_oneを含み、役割が含まれていapp_twoモジュール

apacheモジュールにはが含まれています

+0

サーバーに2つの役割が必要な場合、サーバーは1つの役割に属している必要があるだけで、両方のプロファイルを持つ新しい役割を作成することをお勧めします。 – Walid

+0

@Walidこれは推奨であり、ルールではありません。詳細については、人形師コースに相談してください。 –

+0

が分かります。私はGaryとPEのコンサルタントからそれを手に入れました。 http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-2/私がエンジニアのようなENCのために理解しているように、1つのロール/サーバーの推奨事項に固執することは、これらのGUI /ツールはあなたを可能にします。また、エンタープライズサービスのカタログとサービスの依存関係のマップを派生させたい場合は、それは容易に実行されマッピングされることができる。ロールはサービスカタログ内のサービスを表し、プロファイルは依存性の抽象度が高いことを表します。 – Walid

関連する問題