더북(TheBook)

12.4.2 모듈을 이용한 코드 관리

퍼팻 코드는 모듈이라고 하는 코드 블록으로 관리할 수 있습니다. 모듈은 퍼팻 코드와 자료 파일로 구성된 패키지입니다. 퍼팻 코드를 모듈 형태로 구현하면 매니페스트에 작성할 코드 분량을 줄이고 가독성과 재활용성을 높일 수 있을 뿐 아니라 작성한 모듈을 다시 배포해서 다른 사용자가 사용하게 할 수 있습니다. 모듈을 사용하면 소프트웨어나 서비스의 기능에 초점을 맞추어 코드를 작성할 수 있습니다. 예를 들어 웹 응용 프로그램 모듈을 작성한다면 웹 서버 클래스와 데이터베이스 클래스, 응용 프로그램 클래스를 정의해 놓은 매니페스트와 설정 파일, 자료 파일로 구성할 수 있습니다.

운영 환경(production)에 적용할 모듈 코드는 모듈 디렉터리(modulepath)인 code/environments/production/modules 아래에 새로운 디렉터리를 추가해서 작성합니다. 생성할 디렉터리 이름은 모듈 이름과 같아야 합니다. 일반적으로 모듈 이름은 소프트웨어나 서비스 이름으로 정하며 영문과 숫자, 기호 _를 사용할 수 있습니다.

모듈 디렉터리 구조는 기본 코드 디렉터리(/etc/puppetlabs/code)와 비슷합니다. 코드와 자료를 디렉터리에 따라 구분해서 저장합니다.

manifests: 모듈에 적용할 매니페스트 파일을 저장하는 디렉터리입니다. 코드 디렉터리의 site.pp처럼 기본 매니페스트 init.pp를 사용할 수 있습니다.

data: 모듈에 적용할 하이라 데이터를 저장할 디렉터리입니다.

files: 노드에 배포할 정적 파일 원본을 저장합니다.

templates: 템플릿 파일을 저장합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.