Q 노드 선언을 알려 주세요


    A 동일한 노드 선언이 매니페스트에 여러 번 쓰일 수는 없습니다. 다음과 같이 코드를 작성하면 퍼팻 에이전트를 실행하는 과정에서 오류가 발생할 것입니다. 매니페스트 파일을 분리해서 작성해도 노드 선언을 반복하면 안 됩니다. 중복을 피하고자 관례적으로 노드 선언은 기본 매니페스트인 site.pp에만 작성합니다.

    # /home/administrator/code/environments/production/manifests/site.pp
    # 이렇게 하면 안 된다는 걸 보여 주는 예제: 노드 선언 중복
    node 'vm01.linuxmastery.kr' {
      notify { 'test_message':
        message => "===== vm01 =====\n",
      }
    }
    
    node 'vm01.linuxmastery.kr' {
      notify { 'test_message':
        message => "Hello, vm01!\n",
      }
    }

    공통 리소스를 적용하려고 노드 선언에 여러 호스트 이름을 지정할 수 있습니다.

    # /home/administrator/code/environments/production/manifests/site.pp
    # 공통 리소스 적용하기
    node 'vm01.linuxmastery..kr', 'vm02.linuxmastery.kr' {
      notify { 'test_message':
        message => "===== test =====\n",
      }
    }

    정규 표현식을 써서 더 많은 호스트 이름을 노드 선언에 포함시킬 수 있습니다. 다음 정규 표현식은 www.linuxmaster.kr, db.linuxmaster.kr, mail.linuxmaster.kr처럼 .linuxmaster.kr로 끝나고($) 어떤 문자(.*)로 시작하는 호스트 이름에 해당하는 노드 선언입니다.

    # /home/administrator/code/environments/production/manifests/site.pp
    # 정규 표현식을 써서 공통 리소스 적용하기
    node /.*\.linuxmaster\.kr$/ {
      notify { 'test_message':
        message => "===== test =====\n",
      }
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.