Puppet은 구성 관리를 중앙 집중화하고 자동화하기 위한 오픈 소스 시스템 관리 도구입니다. 구성 관리는 기업의 하드웨어 및 소프트웨어를 설명하는 정보의 상세한 기록 및 업데이트입니다.
Puppet에는 호스트 및 서비스가 어떻게 표시되어야 하는지 설명하는 구성 언어와 Unix, Linux, Windows 및 OS X를 비롯한 다양한 플랫폼에서 관리자가 구성을 구현할 수 있도록 하는 추상화 계층의 두 가지 계층이 있습니다. 관리자는 인코딩할 수 있습니다. Puppet이 모니터링하고 시행하는 정책으로 서비스를 구성합니다.
Puppet은 Ruby로 작성되었으며 모듈을 만들고 관리하기 위해 자체 DSL(도메인 특정 언어)을 사용합니다. Open Source Puppet이라고 하는 Puppet 구성 관리의 기본 버전은 Puppet의 웹사이트에서 직접 사용할 수 있으며 Apache 2.0 시스템에 따라 라이선스가 부여됩니다. Puppet Enterprise에는 오케스트레이션, RBAC(역할 기반 액세스 제어) 및 규정 준수 보고를 비롯한 추가 기능이 있습니다.
Puppet Labs 웹 사이트는 인프라를 코드로 설명하고 관리하기 위한 다양한 커뮤니티 모듈을 제공합니다. Puppet Labs는 오픈 소스 Puppet과 커뮤니티 모듈 간의 시너지 효과를 Puppet 생태계라고 합니다. .
인기 있는 Puppet 생태계 모듈은 다음과 같습니다.
퍼펫 포지 - 4,000개 이상의 사전 구축된 사용자 기여 모듈에 대한 액세스를 제공하는 저장소입니다.
비커 - 여러 가상 머신(VM) 간의 상호 작용에 대한 승인 테스트에 중점을 둔 테스트 도구입니다.
계수 - 하드웨어 세부 정보, 네트워크 설정, 운영 체제(OS) 유형 및 버전을 포함하여 노드에 대한 기본 정보를 수집하는 도구입니다.
히에라 - 구성 데이터에 대한 키/값 조회 도구입니다.
엠컬렉티브 - 서버 오케스트레이션 또는 병렬 작업 실행 시스템을 구축하기 위한 프레임워크입니다.
PuppetDB - 모든 노드에 대한 정보를 저장하는 검색 가능한 데이터베이스.
면도기 - 베어메탈 VM 및 가상 시스템을 검색하고 배포하기 위한 고급 프로비저닝 애플리케이션입니다.
사냥꾼 - 장기 실행 애플리케이션 호스팅을 위한 Clojure 프레임워크
Puppet Labs의 이 비디오는 Puppet을 사용하여 인프라 관리를 자동화하는 방법에 대한 개요를 제공합니다.
참조: 정책 기반 관리