人形-環境
ソフトウェア開発および配信モデルには、特定の製品またはサービスをテストするために使用されるさまざまな種類のテスト環境があります。標準的な方法として、開発、テスト、本番の3種類の環境があり、それぞれに独自の構成が設定されています。
Puppetは、Ruby onRailsと同じラインに沿った複数の環境の管理をサポートします。これらの環境の作成の背後にある重要な要素は、さまざまなレベルのSLA契約で管理するための簡単なメカニズムを提供することです。場合によっては、マシンは常に許容範囲を超えて古いソフトウェアを使用せずに稼働している必要があります。他の環境は最新であり、テスト目的で使用されます。これらは、より重要なマシンのアップグレードに使用されます。
Puppetは、標準の本番環境、テスト環境、および開発環境の構成を使用することをお勧めしますが、ここでは、要件に応じてカスタム環境を作成することもできます。
環境目標
環境によって分割されたセットアップの主な目標は、Puppetがモジュールとマニフェストのさまざまなソースを持つことができることです。その後、本番ノードに影響を与えることなく、テスト環境で構成の変更をテストできます。これらの環境を使用して、さまざまなネットワークソースにインフラストラクチャを展開することもできます。
PuppetMasterでの環境の使用
環境のポイントは、ファイルのどのマニフェスト、モジュール、テンプレートをクライアントに送信する必要があるかをテストすることです。したがって、Puppetは、これらの情報の環境固有のソースを提供するように構成する必要があります。
Puppet環境は、事前環境セクションをサーバーのpuppet.confに追加し、環境ごとに異なる構成ソースを選択するだけで実装されます。これらの事前環境セクションは、メインセクションよりも優先して使用されます。
[main]
manifest = /usr/testing/puppet/site.pp
modulepath = /usr/testing/puppet/modules
[development]
manifest = /usr/testing/puppet/development/site.pp
modulepath = /usr/testing/puppet/development/modules
上記のコードでは、開発環境のすべてのクライアントは、ディレクトリにあるsite.ppマニフェストファイルを使用します /usr/share/puppet/development Puppetはでモジュールを検索します /usr/share/puppet/development/modules directory。
環境の有無にかかわらずPuppetを実行すると、デフォルトでsite.ppファイルと、メイン構成セクションのマニフェストおよびモジュールパス値で指定されたディレクトリになります。
事前環境を構成するのに実際に意味のある構成はごくわずかであり、これらのパラメーターはすべて、クライアントの構成をコンパイルするために使用するファイルの指定を中心に展開されます。
以下はパラメータです。
Modulepath− Puppetでは、基本的な標準モードとして、すべての環境が共有する標準モジュールディレクトリを用意し、次にカスタムモジュールを保存できる環境前ディレクトリを用意するのが最適です。モジュールパスは、Puppetが環境に関連するすべての構成ファイルを検索する場所です。
Templatedir−テンプレートディレクトリは、関連するテンプレートのすべてのバージョンが保存される場所です。モジュールはこれらの設定よりも優先される必要がありますが、各環境で特定のテンプレートの異なるバージョンを持つことができます。
Manifest −これは、エントリポイントスクリプトとして使用する構成を定義します。
複数のモジュールを備えたPuppetsは、構成のモジュール性を実現するのに役立ちます。Puppetで複数の環境を使用できます。これは、モジュールに大きく依存している場合にはるかにうまく機能します。モジュールに変更をカプセル化することで、変更を環境に移行するのが簡単になります。ファイルサーバーは環境固有のモジュールパスを使用します。個別にマウントされたディレクトリではなく、モジュールからファイルを提供する場合、この環境は環境固有のファイルを取得でき、最終的に現在の環境はマニフェストファイル内の$ environment変数でも利用できるようになります。
クライアント環境の設定
環境構成に関連するすべての構成は、puppet.confファイルで行われます。Puppetクライアントが使用する環境を指定するには、クライアントのpuppet.confファイルで環境構成変数の値を指定できます。
[puppetd]
environment = Testing
構成ファイルの上記の定義は、構成ファイルがテストしている場合の環境を定義します。
-を使用してコマンドラインでこれを指定することもできます。
#puppetd -–environment = testing
あるいは、Puppetは環境構成での動的値の使用もサポートします。開発者は、静的な値を定義するのではなく、他のクライアント属性または外部データソースに基づいてクライアント環境を作成するカスタムファクトを作成することができます。それを行うための好ましい方法は、カスタムツールを使用することです。これらのツールはノードの環境を指定することができ、一般的にノード情報を指定するのにはるかに優れています。
人形検索パス
Puppetは、単純な検索パスを使用して、ターゲットマシンに適用する必要のある構成を決定します。同様に、Puppetの検索パスは、適用する必要のある適切な値を取得しようとするときに非常に役立ちます。以下に示すように、Puppetが適用する必要のある値を検索する場所は複数あります。
- コマンドラインで指定された値
- 環境固有のセクションで指定された値
- 実行可能ファイル固有のセクションで指定された値
- メインセクションで指定された値