Pro Puppet 주요 부분 요약
Pro Puppet second edition 에서 중요한 부분만 발췌함.
http://www.apress.com/9781430260400
- Getting Started with Puppet
- Puppet 이란 무엇인지 설명
- Puppet 설치 및 설정하기
- Puppet agent 설정, module 과 manifests 만들기
- Building Hosts with Puppet
- 노드 설정하기
- ssh, postfix, mysql, apache, puppet module 예제
- Working with Environments (Developing and Deploying Puppet)
- Puppet 개발하고 테스팅하기, 디버깅하기
- Vagrant 로 Puppet 개발하기
- Environments 사용하기
- Env 활용 예제 및 동적인 Puppet Env 사용방법
- Scaling Puppet
- Apache 와 Passenger 이용하여 Puppet Master 실행하기
- 여러 대의 Puppet Master 를 부하분산하는 방법
- 기타 확장성 정보 : CA 서비스 확장하기
- 성능 체크하기
- Splay time
- Externalizing Puppet Configuration
- External Node Classificatin (ENC 활용하기)
- ldap 에 노드 설정 저장하기
- Exporting and Storing Configuration
- Virtual Resources 사용하기
- Exported and Stored Configurations 사용하기
- 안 쓰는 리소스 삭제하기
- Puppet Consoles
- The Foreman : Puppet 웹UI. provision, config management, report 기능. ENC로 사용 가능함.
- Puppet Enterprise Console : 상용 프로그램임. report, inventory, ENC, mcollective 가 통합되어 있음
- Puppetboard : 레포팅 기능만 제공함. puppetdb와 연동하여 사용을 함.
- Tools and Integration
- Puppet Forge
- Module 의존성 체크하는 프로그램
- Puppet Librarian : Puppet 모듈의 의존성 체크
- R10K : dynamic env 지원하면서 Puppet 모듈간의 의존성을 관리함.
- Puppet-lint : Puppet style guide 체크함.
- 모듈 테스팅하기
- rspec-puppet : Puppet manifests 를 테스팅하는 프로그램
- TravisCI : 공개 레포지토리를 위한 SAS 형태의 CI 프로그램. rspec-puppet 테스트를 돌릴 수 있음
- rspec-system : vagrant 를 지원하며 서로 다른 OS에서 테스트를 돌리기 위한 프레임워크임.
- Geppetto : 이클립스 기반의 IDE 프로그램임. 이클립스에스 플러그인을 설치해서 사용할 수도 있고 단독으로 돌릴 수도 있음.
- Reporting with Puppet
- 레포팅 이해하기
- 레포트 프로세서 : log, tagmail ,rrdgraph, http, puppetdb
- 레포팅 커스터마이징하기
- Extending Facter and Puppet
- 커스텀 fact 만들기 (pluginsync 옵션 이해)
- 커스텀 types, providers, functions 만들기
- MCollective
- Mcollective 의 배경, 설치, 설정하기
- Mcollective 플러그인 설치하기
- Hiera: Separating Data From Code
- Puppet 3.0 부터는 기본 포함이 되어있으며 Puppet 2.7 에서는 별도로 설치를 해야 함.
- Hiera 의 장점 : code 와 data 분리
- Hiera 설치하기
- Hiera CLI 프로그램 사용하기
- 복잡한 데이터 구조 : Array, Hash
- 추가 백엔드 : File, JSON, MySQL, gpg
- Hiera 예제