web-dev-qa-db-ja.com

ノード継承をhieraに変換する

ノード継承ツリーを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}"

いくつかの質問

  1. puppet.confに任意のプロパティを配置できますか?
  2. Hieraにはrealmプロパティが表示されますか?
1
quickshiftin

puppet.conf設定の代わりにカスタムファクトを使用して、クライアント側でこれを行うことができます。ただし、Hieraデータでは、サーバー側で実行すると思います。私が似たようなものに使用するトリックは次のとおりです。

  1. サーバーごとに、Hieraデータにclientcertレベルで何かを設定します。あなたの場合:

    realm: "pre-prod"
    
  2. site.ppの前に、hiera_includeのHieraを介してその変数をグローバルスコープに取得します。

    $realm = hiera(realm)
    
    hiera_include(classes)
    
  3. 変数はclientcert.yamlファイルからフェッチされ、階層内のhiera_include構成に基づいてpre-prod.yamlから取得し、"%{realm}"から発生するルックアップで使用されるようになります。 。

1
Shane Madden