Puppet 3 자동화 솔루션 [클라우드 효율성 극대화를 위한 시스템 구성과 관리]
- 원서명Puppet 3 Cookbook (ISBN 9781782169765)
- 지은이존 아룬델(John Arundel)
- 옮긴이남궁영환, 장성호
- ISBN : 9788960778047
- 30,000원
- 2015년 12월 18일 펴냄 (절판)
- 페이퍼백 | 344쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 오픈소스 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
최근 클라우드 컴퓨팅 환경에서의 시스템 구축이 보편화됨에 따라 서비스 배포 및 관리에 대한 중요성이 높아지고 있다. 퍼펫(Puppet)은 가상 혹은 물리 서버 환경에서 복잡한 시스템 설정을 자동화함으로써 효율적인 시스템 관리를 실현한다. 이 책은 초보자라도 퍼펫을 통한 서비스 배포 및 설정이 가능하도록 퍼펫의 핵심 기능에 대해 상세히 다루며, 실무에 바로 적용할 수 있는 풍부한 예제 코드도 제공한다.
이 책에서 다루는 내용
■ 퍼펫 설치 및 설정, 일반적인 문제 해결
■ 시선을 끄는 관리용 보고서 및 정보 생성
■ Hiera를 이용한 구성 데이터 제어 및 GnuPG를 이용한 비밀 암호화
■ puppet-lint와 rspec-puppet를 이용한 커뮤니티 표준에 맞는 신뢰성 있고 깔끔하며 유지보수 가능한 코드 생성
■ 초고속 설치를 위한 구성 파일 및 템플릿 배포
■ EC2와 같은 클라우드 플랫폼 기반의 테스트 및 준비 환경, 생산 시스템 구축을 위한 가상머신 사용
■ 프로비저닝, 배포 및 변경 관리를 포함한 시스템의 모든 측면 자동화
■ 대규모 네트워크 관리 및 신뢰성 있고 성능 좋은 확장 가능한 퍼펫 생성
이 책의 대상 독자
이 책은 독자들이 커맨드라인, 파일 시스템, 텍스트 편집 등을 자유 자재로 다룰 줄 알고, 리눅스 시스템 관리 경험이 있다고 가정한다. 프로그래밍, 개발 관련 경험은 없어도 괜찮다.
이 책의 구성
1장, ‘퍼펫 인프라스트럭처’에서는 맨 처음 어떻게 퍼펫 실행 환경을 서버에 구축하는지 알아본다. 이를 위한 퍼펫 설치 명령어, 매니페스트 생성, 퍼펫을 이용한 버전 관리 깃(Git) 기반의 분산형 퍼펫 아키텍처 구축, 퍼펫 매니페스트 적용 스크립트 작성, 퍼펫 자동 실행, 레이크(Rake)를 이용한 시스템 부트스트래핑과 변경 사항 배포, 깃 후크를 이용한 매니페스트의 자동 문법 검사 등을 학습한다.
2장, ‘퍼펫 언어와 스타일’에서는 퍼펫 코드를 잘 작성하기 위한 사항들을 살펴본다. 이와 관련된 주제로는 커뮤니티 퍼펫 스타일 활용, puppet-lint를 이용한 매니페스트 체크, 모듈을 이용한 매니페스트 구조화, 표준 명명 규칙 활용, 인라인 템플릿 사용 방법, 반복문 사용, 조건문, 정규표현식, 셀렉터와 케이스 문, 문자열 연산자 등이 있다.
3장, ‘세련된 매니페스트 작성’에서는 코드의 품질과 재사용성을 높이는 데 필요한 퍼펫의 여러 가지 기능을 학습한다. 이와 관련된 내용으로는 배열, 정의(definition), 의존성(dependency)가 있는 리소스 작업 순서 설정, 노드와 클래스 상속, 클래스에 파라미터 값 넘겨주기, 파라미터 오버라이딩, 시스템 환경 정보 수집, 재사용 가능한 매니페스트 작성, 태그 사용 및 스테이지 실행 등이 있다.
4장, ‘파일과 패키지를 이용한 작업’에서는 일반적인 시스템 관리 작업에 대한 사항을 다룬다. 환경설정 파일 관리, Augeas 활용 방법, 스니핏과 템플릿을 이용한 파일 생성, 외부 패키지 저장소 관리, GnuPG를 이용한 비밀 데이터 암호화, 소스에서 패키지 구축 등을 소개한다.
5장, ‘유저와 가상 리소스’에서는 가상 리소스의 의미와 어떻게 이 가상 리소스들이 다양한 시스템상에서 서로 다른 유저와 패키지의 조합을 관리하는 데 도움이 되는지 설명한다. 또 퍼펫의 리소스 스케쥴링 사용 방법과 감시 기능도 배워본다.
6장, ‘애플리케이션’에서는 퍼펫을 이용해 관리할 필요가 있는 특정 애플리케이션에 대해 알아본다. 이와 관련해 아파치, 엔진엑스(Nginx), MySQL, 루비를 위한 예제 코드도 상세히 살펴본다.
7장, ‘서버와 클라우드 인프라스트럭처’에서는 베이그란트(Vagrant)와 EC2 인스턴스를 위한 예제를 활용해 로컬 데스크탑과 클라우드 환경 모두에 대해 가상 머신 관리 측면에서 퍼펫의 기능을 확장시킨다. 또 HAProxy를 이용한 로드 밸런싱 방법, iptables를 이용한 방화벽, NFS를 이용한 네트워크 파일 시스템, 하트비트(Heartbeat)를 이용한 고가용성 적용 방법 등을 알아본다.
8장, ‘외부 도구와 퍼펫 에코시스템’에서는 퍼펫과 관련해 발전해온 Hiera, Facter, rspec-puppet과 같은 툴에 대해 살펴본다. 아울러 여러분이 사용 중인 리소스 타입, 제공자, 외부 노드 분류기 등을 작성하는 방법을 포함한 고급 수준의 주제도 소개한다.
9장, ‘모니터링, 보고 및 문제 해결’에서는 퍼펫이 현재 수행 중인 정보와 시스템 상태를 리포팅할 수 있는 방법을 다룬다. 이와 관련한 내용으로는 리포트, 로그, 디버그 메시지, 의존성을 그래프로 보여주기, 매니페스트를 테스팅하고 드라이런(dry-run) 모드로 실행시키기 등이 있다. 아울러 퍼펫 오류 메시지에 대한 자세한 설명도 살펴본다.
목차
목차
- 1장 퍼펫 인프라스트럭처
- 소개
- 퍼펫 설치
- 매니페스트 생성
- 깃을 이용한 매니페스트 관리
- 분산형 퍼펫 아키텍처 생성
- papply 스크립트 작성
- 크론에서 퍼펫 실행
- 레이크를 이용해 변경사항 배포
- 레이크를 이용한 퍼펫 부스트랩핑
- 깃 후크를 이용한 자동 구문 검사
- 2장 퍼펫 언어와 스타일
- 소개
- 퍼펫 커뮤니티의 퍼펫 스타일 사용
- puppet-lint를 이용한 매니페스트 체크
- 모듈 활용
- 인라인 템플릿 활용
- 여러 항목에 대한 반복 작업
- 효과적인 조건문 작성
- if 문에서 정규표현식 사용
- 셀렉터와 케이스 문 사용
- in 연산자의 활용법
- 정규 표현 치환식 활용법
- 3장 세련된 매니페스트 작성
- 소개
- 리소스 배열 이용
- 데피니션 사용
- 디펜던시 사용
- 태그 이용
- 런 스테이지 이용
- 노드 상속 이용
- 클래스에 파라미터 넘겨주기
- 클래스 상속과 오버라이딩 이용
- 재사용 가능한, 플랫폼 호환성을 지닌 매니페스트 작성
- 시스템 환경에 대한 정보 수집
- 동적 정보 임포팅
- 셸 명령어에 대한 인자값 전달
- 4장 파일과 패키지를 이용한 작업
- 소개
- 환경설정 파일을 간단하게 편집하는 방법
- Augeas를 이용한 환경설정 파일 자동 편집
- 스니핏을 이용한 환경설정 파일 구축
- ERB 템플릿 활용 방법
- 템플릿에서 배열 반복 작업 활용
- GnuPG를 이용한 보안 정보 암호화
- 외부 저장소를 통한 패키지 설치
- 소스에서 패키지 자동 구축 방법
- 패키지 버전 비교
- 5장 유저와 가상 리소스
- 소개
- 가상 리소스 활용
- 가상 리소스를 이용한 유저 관리
- 유저 SSH 액세스 관리
- 유저 맞춤형 파일 관리
- 유저 맞춤형 파일 관리
- 리소스가 적용될 시점을 제한하도록 스케쥴 활용
- 호스트 리소스 활용
- 여러 개의 파일 리소스를 활용하는 방법
- 디렉토리 트리 분산 배포
- 오래된 파일 정리 방법
- 리소스 검사
- 일시적으로 리소스 비활성화
- 6장 애플리케이션
- 소개
- 아파치 서버 관리
- 아파치 가상 호스트 생성
- 엔진엑스 가상 호스트 생성
- MySQL 관리
- 루비 관리
- 7장 서버와 클라우드 인프라스트럭처
- 소개
- 하트비트를 이용한 고가용성 서비스 구축
- NFS 서버 및 파일 공유
- 멀티 웹 서버 간 부하 분산을 위한 HAProxy 사용법
- iptables을 이용한 방화벽 관리
- EC2 인스턴스 관리
- Vagrant를 이용한 가상머신 관리
- 8장 외부 도구와 퍼펫 에코시스템
- 소개
- 사용자 정의 팩트 생성
- 외부 팩트 추가
- 환경 변수로서의 팩트 설정
- Hiera를 이용한 설정 데이터 가져오기
- Hiera-gpg를 이용한 비밀 데이터 저장
- 퍼펫 자원을 이용한 매니페스트 생성
- 기타 도구를 이용한 매니페스트 생성
- rspec-puppet을 이용한 매니페스트 테스트
- 공개 모듈 사용
- 외부 노드 분류자 사용
- 자신만의 자원 유형 생성
- 자신만의 공급자 생성
- 자신만의 함수 생성
- 9장 모니터링, 보고 및 문제 해결
- 소개
- 예행 연습
- 명령 출력 로깅하
- 디버그 메시지 로깅
- 보고서 생성
- 자동 HTML 문서 생성
- 종속관계 그래프 그리기
- 퍼펫 에러
- 구성 설정 검사