더북(TheBook)

12.3.1 퍼팻 코드 명세서 매니페스트

퍼팻 코드는 매니페스트에 작성합니다. 매니페스트(manifest)는 일종의 코드 명세서로 어떤 시스템을 어떻게 조작할지 결정합니다. 확장자가 .pp인 파일이며, 프로그래밍 언어 루비(Ruby)를 기반으로 한 퍼팻 언어(puppet language)로 쓰여집니다.

퍼팻 코드와 자료를 기술하는 코드 디렉터리 경로는 /etc/puppetlabs/code입니다. 코드 디렉터리에서 tree 명령을 입력하면 디렉터리 구조를 한눈에 확인할 수 있습니다. 매니페스트 파일은 manifests 디렉터리에 저장합니다.

시스템 관리자는 테스트 환경, 개발 환경, 운영 환경처럼 프로젝트의 역할과 목적에 따라 작업 환경을 달리하여 퍼팻 코드를 작성할 수 있습니다. 기본 작업 환경은 운영 환경(production)이므로 주로 code/environments/production에서 코드를 작성합니다. environment.conf는 작업 환경에 따라 다르게 적용할 환경 설정 파일입니다. 모듈이나 매니페스트 경로를 변경할 수 있습니다.

production 환경에서 적용할 매니페스트 파일은 manifests 디렉터리에 작성합니다.

퍼팻 코드에 전달할 자료인 하이라(hiera)는 자료 디렉터리인 data에 저장합니다. hiera.yaml은 하이라 설정 파일입니다.

퍼팻 코드와 자료는 패키지 형태로 묶어 활용할 수 있는데, 이를 모듈(module)이라고 합니다. 각 모듈은 modules 디렉터리 아래에 저장합니다.

administrator@vmgate:~$ tree /etc/puppetlabs/code 
/etc/puppetlabs/code/ 
├── environments 
│  └── production 
│    ├── data 
│    ├── environment.conf 
│    ├── hiera.yaml 
│    ├── manifests 
│    └── modules 
└── modules

이렇게 해보세요 ≣


아직 tree를 설치하지 않은 상태라면 apt install 명령으로 tree를 설치합니다.

administrator@vmgate:~$ sudo apt update
administrator@vmgate:~$ sudo apt install tree
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.