これまですべてをsite.ppに入れました。これにより、ファイルが長く複雑になる可能性があります。
これを行う必要がありますか、site.ppのコンテンツを外部ファイルに移動してから、どうしてもsite.ppでそのファイルを参照する必要がありますか?
答え1
site.ppにはコンテンツがほとんどなく、一般的にはより良い管理が容易な場所があります。
- 個々のリソース(ファイル、サービス、パッケージ、cronエントリなど)は、管理中の各コンポーネント/サービスのクラスに移動する必要があります。役割クラスではなく、
apache
クラスなどの論理コンポーネントにできるだけ分解してください。 (mysql
lamp
文書:言語:クラス) - クラスはモジュールに移動する必要があります。モジュールは関連クラス(たとえば
apache::service
使用)を含む方法apache
で、すべてのファイルをロードせずにクラスを効率的に見つけることができる方法をPuppetに提供し、関連ファイルとテンプレートを含みます。これにより、Apacheクラスを含めることもできます/etc/puppetlabs/code/environments/production/modules/apache/manifests/init.pp
。 (ドキュメント:モジュールの基本) - ノード定義およびクラスパラメータは、Hieraまたはノード分類子(ENC)に移動できます。 Hieraでは、次のことができます
hiera_include
(ドキュメント:Hieraを使用してノードにクラスを割り当てる)ノードにクラスを追加し、一般的なHieraデータを使用してクラスパラメータを保存します(文書: 自動パラメーター照会)。 ENCは、すでに保持している、または他のアプリケーションによって提供されるデータソースを照会するための外部スクリプトです。十。 - リソースのデフォルトは、各ノードとクラスに適用するためにsite.ppに残ることができます。