ノード継承ツリーをhieraに移動する作業をしています。現在、階層に取り組んでいます。 hieraの前は、私のノードにはそのような階層がありました
base
pre-prod
qa
nodes
staging
nodes
development
nodes
prod
nodes
今、私はhieraで同じティアを取得しようとしています。始めて私はこれを持っています
:hierarchy:
- base
- "%{environment}"
- "%{clientcert}"
しかし、キャプチャするには別のレベルが必要ですpre-prodおよびprod。私の考えは、puppet.confにエントリを追加することです。
[agent]
realm = pre-prod
その後
:hierarchy:
- base
- "%{realm}"
- "%{environment}"
- "%{clientcert}"
いくつかの質問
puppet.conf
設定の代わりにカスタムファクトを使用して、クライアント側でこれを行うことができます。ただし、Hieraデータでは、サーバー側で実行すると思います。私が似たようなものに使用するトリックは次のとおりです。
サーバーごとに、Hieraデータにclientcert
レベルで何かを設定します。あなたの場合:
realm: "pre-prod"
site.pp
の前に、hiera_include
のHieraを介してその変数をグローバルスコープに取得します。
$realm = hiera(realm)
hiera_include(classes)
変数はclientcert.yaml
ファイルからフェッチされ、階層内のhiera_include
構成に基づいてpre-prod.yaml
から取得し、"%{realm}"
から発生するルックアップで使用されるようになります。 。