私は実行中の人形のマスターエージェントのセットアップがあり、現在はhieraを使ってPHPをプロビジョニングする方法を理解しようとしています。人形のヒエラの設置場所
マイPuppetfile:
forge "http://forge.puppetlabs.com"
mod "jfryman/nginx"
mod "puppetlabs/mysql"
mod "mayflower/php"
mod 'puppetlabs-vcsrepo'
mod 'puppetlabs/ntp', '4.1.0'
mod 'puppetlabs/stdlib'
マイsite.pp
:
hiera_include('classes')
私のModulePathが維持されているenvironment.conf
、:パペットマスターの
manifest = site.pp
modulepath = modules:site
マイhieraの設定/etc/puppetlabs/puppet/hiera.yml
で:
---
:backends:
- yaml
:hierarchy:
- "nodes/%{::trusted.certname}"
- "environment/%{server_facts.environment}"
- common
:yaml:
# datadir is empty here, so hiera uses its defaults:
# - /etc/puppetlabs/code/environments/%{environment}/hieradata on *nix
# - %CommonAppData%\PuppetLabs\code\environments\%{environment}\hieradata on Windows
# When specifying a datadir, make sure the directory exists.
:datadir:
私が理解しているところでは、すべてのサーバーに存在するはずの一般設定はcommon.yaml
になります。この設定で、私はhieradata/common.yaml
で、この設定で自分のノード上でNTPをインストールするために管理:
---
classes:
- 'profile::base'
ntp::servers:
- server 0.de.pool.ntp.org
- server 1.de.pool.ntp.org
- server 2.de.pool.ntp.org
- server 3.de.pool.ntp.org
は今、私の階層はまた、すべてのノードの特定の設定がhieradata/nodes/{fqdn-of-the-node}.yml
に入るべきであると述べています。今
は、最終的には私の質問に来る:site/profile/manifests/php.pp
下
classes:
- 'profile::php'
とマニフェスト:
class profile::php {
class { '::php': }
}
しかし、これは規定をしません
私は、この保持するファイルhieradata/nodes/myserver.example.com.yml
を持っていますphp。あなたが見たように、私は鍛造からmayflower/php
を使用します。
は今、私の二つの質問は以下のとおりです。
phpのための私のhieraファイルが正しい場所にですか?私はそれから私の代理人にphpをプロビジョニングするために何が欠けていますか?
ありがとう!私はイントロを短くした。また、私はsite.ppと、modulepathを保持する私のenvironment.confを追加しました。さらに、私は自分のcertsを 'puppet cert list --all'でチェックし、certnameはそこに含まれていて、' + 'はそれが追加されたことを意味します。さらに、あなたが提案したように階層から環境部品を削除しました。私はとにかくそれを使用する予定はありませんでした。それでも、それはPHPを提供していません。 – Chrisissorry
実際には、私はあなたがグローバルモジュールとしてPHPを持つことが何を意味するのか分かりません。モジュールは自分の環境パスに存在します。 – Chrisissorry
@Chrisissorryグローバルな 'php'宣言コメントを明確にするために答えを更新しました。 –