1장. Puppet을 사용하여 구성 관리 소개
Puppet을 사용하여 호스트 구성을 관리하고 자동화할 수 있습니다. Puppet은 선언적 언어를 사용하여 원하는 관리 호스트 상태를 설명합니다.
Puppet은 여러 호스트를 동시에 관리할 수 있으므로 생산성을 높입니다. 동시에 Puppet을 사용하면 호스트 상태를 쉽게 확인하고 수정할 수 있으므로 구성 작업이 감소합니다.
추가 리소스
- 오픈 소스 Puppet 문서
- Puppet Forge ECDHE-ECDHEa 사전 빌드된 Puppet 모듈 리포지토리
1.1. Puppet과 Satellite 통합 방법 링크 복사링크가 클립보드에 복사되었습니다!
Puppet은 server-agent 아키텍처를 사용합니다. Puppet 서버는 구성 정의를 저장하는 중앙 구성 요소입니다. Satellite Server 또는 Capsule은 일반적으로 Puppet 서버와 Satellite를 사용하여 이러한 Puppet 서버의 ENC(외부 노드 분류기) 역할을 하여 배포됩니다. 관리 호스트는 Puppet 서버와 통신하는 Puppet 에이전트를 실행합니다.
Puppet 에이전트는 호스트에 대한 팩트 를 수집하고 각 실행 시 Puppet 서버에 보고합니다. 호스트에서 puppet 팩트를 실행하여 Puppet 팩트 를 JSON 형식으로 표시할 수 있습니다.
Puppet 서버는 나중에 사용할 수 있도록 팩트 를 Satellite 및 Satellite에 전달합니다. 사실 및 기타 정의를 기반으로 Satellite는 Puppet 서버에 ENC 응답을 구성합니다. Puppet 서버는 ENC 응답을 기반으로 카탈로그 를 컴파일하고 카탈로그 를 Puppet 에이전트로 보냅니다.
Puppet 에이전트는 호스트에서 시스템 상태를 평가합니다. Puppet 에이전트에서 드리프트 라고 하는 차이점을 발견하면 카탈로그에 정의된 원하는 상태와 실제 상태 사이에서 호스트 상태를 수정합니다. 그런 다음 Puppet 에이전트는 수정 결과를 Puppet 서버에 다시 보고하여 Satellite에 보고합니다.
Puppet 모듈
원하는 호스트 상태는 카탈로그에 정의됩니다. 카탈로그 는 호스트에 할당된 하나 이상의 Puppet 모듈로 구성된 Puppet 매니페스트에서 컴파일됩니다. Puppet 모듈은 클래스, 매니페스트, 리소스, 파일 및 템플릿의 컬렉션입니다. Puppet 모듈은 호스트 구성 정의의 구성 요소로 작동합니다.
스마트 클래스 매개변수
모듈에서 매개변수 사용을 지원하는 경우 Smart Class 매개변수를 사용하여 Puppet 모듈의 매개변수를 재정의할 수 있습니다. Satellite의 매개 변수를 호스트 매개 변수 또는 Ansible 변수와 유사한 키-값 쌍으로 정의할 수 있습니다.
Puppet 환경
여러 Puppet 환경을 생성하여 구성 정의 버전을 제어하거나 정의 변형을 관리하고, 프로덕션에 배포하기 전에 정의를 테스트할 수도 있습니다.
높은 수준의 통합 단계
Puppet Satellite와 Satellite 통합에는 다음과 같은 고급 단계가 포함됩니다.
- Puppet 통합을 활성화합니다.
- Puppet 에이전트 패키지를 Satellite로 가져옵니다. Puppet 에이전트 패키지는 Red Hat 리포지토리를 활성화하고 활성화 키 및 콘텐츠 뷰를 사용하여 Satellite를 사용하여 다른 컨텐츠 와 마찬가지로 관리할 수 있습니다.
- 프로비저닝 중 호스트에 Puppet 에이전트를 설치, 등록, 수동으로 또는 원격 작업 실행을 통해 설치합니다.
추가 리소스
- 콘텐츠 관리
- 호스트 관리 가이드에서 호스트등록
- 호스트 관리 가이드에서 원격 작업 구성 및 설정
다음 절차에서는 Puppet 모듈을 사용하여 ntp 서비스를 설치, 구성, 관리하는 방법을 간략하게 설명합니다.