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개 노드 중 하나 아래에 모듈을 배치 하면 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 } } }

관련 정보