더북(TheBook)

'10.2.2 가상 게스트 준비하기'에서 추가한 가상 게스트는 에이전트 인증은 했지만, 아직 매니페스트에 노드 선언이 없는 상태입니다. 가상 게스트에서 puppet agent 명령을 내리면 노드 선언을 찾지 못했다는 오류가 발생합니다. 기본 매니페스트 site.pp에 기본 노드(default node)를 추가하면 노드 선언이 없는 모든 노드에 적용 가능한 리소스를 제공할 수 있습니다. 노드 이름으로 default를 사용한 노드 선언을 추가합니다. notify 리소스로 로그를 남기는 일이 전부입니다.

# /home/administrator/code/environments/production/manifests/site.pp
# default node 테스트
node 'vm01.linuxmastery.kr' {
  notify { 'test_message':
    message => "===== vm01 =====\n",
  }
}

node default {
  notify { 'default_message':
    message => "===== default =====\n",
  }
}

노드 선언이 없는 시스템에서 puppet agent 명령으로 확인해 보면 기본 노드의 notify 메시지를 볼 수 있습니다. notify 메시지로 매니페스트에 노드 선언이 존재하지 않는다는 사실을 짐작해 볼 수 있습니다.

administrator@vm02:~$ sudo /opt/puppetlabs/bin/puppet agent --test
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Info: Caching catalog for vm02.linuxmaster.kr
Info: Applying configuration version '1576597578'
Notice: ===== default =====
Notice: /Stage[main]/Main/Node[default]/Notify[default_message]/message: defined 'message' as "===== default =====\n"
Notice: Applied catalog in 1.11 seconds
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.