Puppet-environment

提供:Dev Guides
移動先:案内検索

Puppet-環境

ソフトウェア開発および配信モデルには、特定の製品またはサービスのテストに使用されるさまざまな種類のテスト環境があります。 標準的な慣行として、主に開発、テスト、本番の3種類の環境があり、それぞれに独自のセット構成があります。

Puppetは、Ruby on Railsと同じラインに沿った複数の環境の管理をサポートしています。 これらの環境の作成の背後にある重要な要素は、SLA契約のさまざまなレベルで管理するための簡単なメカニズムを提供することです。 場合によっては、古いソフトウェアを使用せずに、マシンを常に稼働させる必要があります。 ここで、他の環境は最新であり、テスト目的で使用されます。 より重要なマシンのアップグレードに使用されます。

Puppetは、標準の本番環境、テスト環境、および開発環境の構成に固執することをお勧めしますが、ここでは、要件に応じてカスタム環境を作成することもできます。

環境目標

環境によって分割されたセットアップの主な目標は、Puppetがモジュールとマニフェストの異なるソースを持つことができることです。 その後、実稼働ノードに影響を与えることなく、テスト環境で構成の変更をテストできます。 これらの環境は、ネットワークのさまざまなソースにインフラストラクチャを展開するためにも使用できます。

Puppet Masterで環境を使用する

環境のポイントは、ファイルのどのマニフェスト、モジュール、テンプレートをクライアントに送信する必要があるかをテストすることです。 したがって、Puppetは、これらの情報の環境固有のソースを提供するように構成する必要があります。

Puppet環境は、サーバーのpuppet.confにpre-environmentセクションを追加し、環境ごとに異なる構成ソースを選択するだけで実装されます。 これらの事前環境セクションは、メインセクションに優先して使用されます。

[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

上記のコードでは、開発環境のクライアントはディレクトリ /usr/share/puppet/development にあるsite.ppマニフェストファイルを使用し、Puppetは*/usr/share/puppet/developmentのモジュールを検索します/modulesディレクトリ*。

環境の有無にかかわらずPuppetを実行すると、デフォルトでsite.ppファイルと、メイン構成セクションのマニフェストとmodulepathの値で指定されたディレクトリになります。

実際に環境を構成するのに意味のある構成はほとんどありません。これらのパラメーターはすべて、クライアントの構成をコンパイルするために使用するファイルの指定を中心に展開されます。

以下はパラメーターです。

  • モジュールパス-Puppetでは、基本的な標準モードとして、すべての環境が共有する標準モジュールディレクトリを作成し、次にカスタムモジュールを保存できる事前環境ディレクトリを作成するのが最適です。 モジュールパスは、Puppetが環境関連のすべての設定ファイルを探す場所です。
  • Templatedir -テンプレートディレクトリは、関連するテンプレートのすべてのバージョンが保存される場所です。 モジュールはこれらの設定よりも優先されるべきですが、各環境で特定のテンプレートの異なるバージョンを持つことができます。
  • マニフェスト-これは、エントリポイントスクリプトとして使用する構成を定義します。

複数のモジュールを備えたPuppetsは、構成のモジュール性を実現するのに役立ちます。 Puppetで複数の環境を使用できます。これは、主にモジュールに依存している場合に非常によく機能します。 変更をモジュールにカプセル化することにより、変更を環境に移行するのが簡単になります。 ファイルサーバーは、環境固有のモジュールパスを使用します。個別のマウントされたディレクトリではなく、モジュールからファイルを提供する場合、この環境は環境固有のファイルを取得でき、最終的に現在の環境はマニフェストファイル内の$ environment変数でも利用可能になります。

クライアント環境の設定

環境設定に関連するすべての設定は、puppet.confファイルで行われます。 Puppetクライアントが使用する環境を指定するには、クライアントのpuppet.confファイルで環境設定変数の値を指定できます。

[puppetd]
environment = Testing

構成ファイル内の上記の定義は、構成ファイルがどの環境でテストされているかを定義しています。

また、コマンドラインでこれを指定することもできます-

#puppetd -–environment = testing

あるいは、Puppetは環境設定での動的な値の使用もサポートしています。 開発者は、静的な値を定義するのではなく、他のクライアント属性または外部データソースに基づいてクライアント環境を作成するカスタムファクトを作成するために活用します。 推奨される方法は、カスタムツールを使用することです。 これらのツールはノードの環境を指定することができ、一般的にノード情報を指定するのにはるかに優れています。

パペット検索パス

Puppetは単純な検索パスを使用して、ターゲットマシンに適用する必要がある構成を決定します。 同様に、Puppetの検索パスは、適用する必要のある適切な値を取得しようとする場合に非常に便利です。 Puppetが適用する必要のある値を検索する場所は、以下にリストされているように複数あります。

  • コマンドラインで指定された値
  • 環境固有のセクションで指定された値
  • 実行可能ファイル固有のセクションで指定された値
  • メインセクションで指定された値