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개 노드 중 하나 아래에 모듈을 배치 하면 sup
모듈은 작성한 후에 실행되지만 sudo puppet agent --test
정규식에 있는 경우에는 실행되지 않습니다.
일부 노드가 작업을 수행하도록 하고 모든 노드가 작업을 수행하도록 하려면 어떻게 해야 합니까? 각 노드 아래에 글을 쓰는 것은 include sup
매우 짜증나는 것 같습니다.
답변1
Puppet은 노드와 일치하고 일치하면 중지됩니다. FQDN이 가장 높으며 기본값으로 낮아집니다. 일치하는 섹션을 참조하세요 -https://puppet.com/docs/puppet/4.10/lang_node_definitions.html.
한 가지 접근 방식은 정규식 노드를 사용한 다음 각 노드와 관련된 항목에 대해 사례 문을 사용하는 것입니다.
node/node-slave\d+/ { 램프 포함 테스트 포함 fun::rup 포함 지원
case $::hostname { 'node-slave01': { include repo::git include fun::cmatrix } node-slave02': { include repo::hg include fun::toilet } } }