더북(TheBook)

퍼팻 에이전트를 실행하기 전에 코드에 실행 순서를 명시해야 합니다. 리소스를 원하는 상태로 동작시키기 위해 리소스에 ‘메타파라미터(metaparameter)’라는 정보를 추가할 수 있습니다. before, require, notify, subscribe는 리소스의 실행 순서를 결정하는 메타파라미터입니다. 패키지 설치 이후에 웹 서비스를 실행하려면 먼저 실행할 package 리소스에 메타파라미터 before를 사용합니다. 값으로는 다음에 실행할 리소스를 ‘리소스 유형[‘이름’]’ 형식으로 입력합니다. 이때 리소스 유형은 대문자로 시작해야 합니다.

# /home/administrator/code/environments/production/manifests/site.pp
# 웹 서비스 운영하기: 메타파라미터로 실행 순서 명시하기
node 'vm01.linuxmastery.kr' {
...
  package { 'apache2':
    ensure => installed,
    before => Service['apache2'],
  }

  service { 'apache2':
    ensure => running,
  }
}

이렇게 해보세요 ≣


나중에 실행할 service 리소스에 메타파라미터 require를 사용해도 같은 결과를 얻을 수 있습니다. service 리소스를 실행하려면 먼저 package 리소스가 필요하다는 의미입니다. beforerequire 둘 중 하나만 사용해도 됩니다.

service { 'apache2':
  ensure => running,
  require => Package['apache2'],
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.