"Puppet"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글
잔글
50번째 줄: 50번째 줄:
  
 
*manifest/
 
*manifest/
**site.pp<br/>import '모듈명.pp'
+
**site.pp (이름 변경 가능)<br/>import '모듈명.pp'
**모듈명.pp<br/>node '~' {<br/>&nbsp;&nbsp; &nbsp;include 모듈명<br/>}
+
**모듈명.pp (이름 변경 가능)<br/>node '~' {<br/>&nbsp;&nbsp; &nbsp;include 모듈명<br/>}
 
*modules/모듈명/
 
*modules/모듈명/
 
**manifest/init.pp<br/>class 모듈명 {<br/>&nbsp;&nbsp; &nbsp;~<br/>}
 
**manifest/init.pp<br/>class 모듈명 {<br/>&nbsp;&nbsp; &nbsp;~<br/>}

2015년 11월 4일 (수) 19:04 판

배포 자동화 솔루션인 puppet를 정리 합니다.

Puppet 개요

puppet-%EC%84%A4%EC%B9%981.png

Puppet 용어

용어 상세
Manifest 환경 설정 정보 파일
vim /etc/puppet/environments/production/manifests/~.pp
node "~" {
    Resource { "~":
        attr => value,
    }
​}
  • Resource : File, Service, Package, User 등
  • Class : Resource의 집합으로 modules 폴더 아래에 ~.pp 형태로 저장

puppet  apply  ~.pp      #--- local machine에서 실행, node 부분이 없음
puppet  agent  --test     #--- agent에서 실행

Catalog Manifest가 컴파일되어 Puppet Agent에서 전달되는 정보
puppetmasterd 관리 서버에서 실행되는 데몬
puppetd 각 서버에서 실행되는 데몬

Puppet 구성

puppet --version

Folder 구조

/etc/puppet/

  • manifest/
    • site.pp (이름 변경 가능)
      import '모듈명.pp'
    • 모듈명.pp (이름 변경 가능)
      node '~' {
          include 모듈명
      }
  • modules/모듈명/
    • manifest/init.pp
      class 모듈명 {
          ~
      }

참고 문헌