web-dev-qa-db-ja.com

Puppet:ノード構成からDNSファイルを構築します(または:ノード変数をグローバルに反復する方法)

また、ノードにはpuppetを使用しています。 (BIND)dnsサーバーも実行しています。

DNSモジュールのテンプレートの各ノードに持っている$aliases変数を使用することは可能でしょうか?

私のノードは次のようになります。

$ cat nodes/kayak.local.pp
node 'kayak.local' {
  include base
  $node_aliases = ['svn','puppet']
  $node_primaryip = '10.0.64.200'

  network::interface { 'eth0':
    ip      => $node_primaryip,
    gw      => '10.0.64.1',
    mac     => '00:50:00:00:00:3f',
    netmask => '255.255.255.0',
  }

}

私が探しているのは、次のようなテンプレートを作成できることです。

$cat local.erb

<% scope.lookupvar('ALLNODES::aliases').each do |alias| -%>
<%= alias %> IN A <%= node_primaryip %>
<% end -%> 

誰が私を助けられるか?

1
Karlo

そのためにエクスポートされたリソースを使用できます。

  • dNSファイルの行を管理する定義済みの型を作成します
  • 各ホストで、その定義されたタイプを使用するリソースを作成します。タイプの前に@@を使用して、エクスポートします。
  • 宇宙船オペレーターと一緒にDNSサーバーでこれらのリソースを収集します。

補足:マニフェスト内のすべてのデータにHieraを使用してください。

2
Ger Apeldoorn