0

パペットを使用してアプリケーションをデプロイするノード 1 があります。このアプリケーションが使用するサーバーの詳細をすべて記述した hiera ファイル (node1_application.yaml) を作成しました。

ldap_server = ノード 2

mq_server = node3

node.pp で、どのクラスがノード 1 に適用されるかを統計する node1 情報のみを提供する方法はありますか。次に、このクラスは私の hiera ファイルを読み取り、ldap サーバーがノード 2 にあることを確認するため、ldap モジュールをノードに適用する必要があります。 2.

どのクラスをどのノードに適用するかは、hiera ファイルを使用して動的に決定する必要があります。することは可能ですか?

puppet Enterprise、hiera、facter、puppetdb、mcollective を使用しています。

4

5 に答える 5

2

使ったほうがいいと思いますhiera_include('classes')

今持ってnode01.example.com.yamlいる場合は、次のように書くことができます:

---
classes:
  - base
  - ldap

現在node01.example.com.pp:

node 'node01.example.com' {
      hiera_include('classes')
}
于 2015-05-16T04:26:49.373 に答える
1

はい、可能です。

node default{
    if hiera("useldap") == 'true' {
      include ldap
    }
}

ldap解決するすべてのノードにインストールされますuseldap = true

于 2014-02-10T09:33:41.537 に答える
1

そのようにすることはできません。ldap クラスを含める必要があることを node2 内で定義する必要があります。特定のノードに変更を適用するときに、これらは独立して解析されるため、ノード 1 のクラス/ヒエラによって「控除」することはできません。

于 2015-01-09T17:33:58.420 に答える