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 } } }