더북(TheBook)

12.5.5 하이라와 템플릿으로 모듈 재활용하기

워드프레스를 이용한 웹 서비스를 여러 노드에서 동시에 운영하려면 어떻게 해야 할까요? 코드와 자료를 재활용할 수 있게 하이라(hiera)와 템플릿(template)을 도입하려고 합니다.

앞서 배운 매개변수를 활용하면 클래스 사이에 고유한 값을 넘겨 다양한 환경에 적용할 수 있습니다. 하지만 이런 방법은 자료를 전달할 클래스 구조가 복잡할수록 활용하기가 어렵습니다. 코드와 자료가 클래스 내에 뒤섞여 있는 상태이기 때문입니다. 클래스 외부에 자료만 저장할 수 있는 영역을 별도로 두고 필요한 값만 참조할 수 있다면 혼잡을 피할 수 있습니다.

하이라는 계층 구조를 뜻하는 hierarchy에서 온 말로 키/값으로 된 자료 조회 시스템을 의미합니다. 하이라를 이용해서 클래스 외부 data 디렉터리에 저장한 자료를 설정 순서에 따라 다양한 값으로 재활용할 수 있습니다. 하이라 설정은 코드 디렉터리의 hiera.yaml 파일에서 정의합니다.

administrator@vmgate:~/code/environments/production$ vi hiera.yaml

하이라 설정 파일과 자료 파일은 네트워크 설정 파일처럼 YAML 형식으로 구성됩니다. 설정 파일의 hierarchy 항목에는 특정 노드에서 적용할 자료(Per-node data)가 모든 노드에 공통으로 적용할 자료인 common.yaml보다 우선순위가 높게 설정되어 있습니다. 이 원리를 이용해서 자료를 다양한 환경에 적용할 수 있습니다.

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