Puppet エージェントは正規表現でマニフェストを実行しません。

Puppet エージェントは正規表現でマニフェストを実行しません。
node 'node-slave01' {
        include repo::git
        include fun::cmatrix
}
node 'node-slave02' {
        include repo::hg
        include fun::toilet
}
node 'node-slave03' {
        include fun::rup
        include repo::svn
        include fun::cmatrix
}
node 'node-slave04' {
        include repo::git
        include repo::hg
        include repo::svn
        include fun::cmatrix
        include fun::toilet
}
node /node-slave\d+/ {
        include lamp
        include test
        include fun::rup
        include sup
}

だから内部のすべてが/node-slave\d+/動作しません。 4つのノードの1つの下にモジュールを配置すると、モジュールは作成sup後に実行されますが、sudo puppet agent --test正規表現にある場合は実行されません。

一部のノードにタスクを実行させ、すべてのノードにタスクを実行させるにはどうすればよいですか?各ノードの下に書くのはinclude sup非常に迷惑なようです。

答え1

Puppetはノードと一致し、一致すると停止します。 FQDNが最も高く、デフォルト値に低くなります。一致するセクションをご覧ください -https://puppet.com/docs/puppet/4.10/lang_node_definitions.html

1つのアプローチは、正規表現ノードを使用し、各ノードに関連する項目に対してケースステートメントを使用することです。

node/node-slave\d+/ { ランプを含むテストを含む fun::rup を含める サポート

case $::hostname { 'node-slave01': { include repo::git include fun::cmatrix } node-slave02': { include repo::hg include fun::toilet } } }

関連情報