-
Puppet 설치 및 실행기타 2014. 7. 31. 09:00
agent/master구조와 standlone 형식으로 설치할 수 있음.
여기서는 agent/master 구조로 설치함.
OS 환경
Ubuntu 12.04 64bit
네트워크 환경
마스터에 8140 포트로 접근이 가능해야함.
호스트네임으로 각 장비에 접근이 가능해야함. 마스터의 호스트네임은 puppet이 기본값임.(/etc/hosts를 편집하거나 하면 됨.)
Puppet 관련 패키지 설치하기(마스터, 에이전트 공통)
패키지 다운로드
wget https://apt.puppetlabs.com/puppetlabs-release-precise.deb
다운로드한 패키지 설치
sudo dpkg -i puppetlabs-release-precise.deb
필요한 패키지 업데이트
sudo apt-get update
Puppet 마스터 서버 설치하기
sudo apt-get install puppetmaster-passenger
puppet을 최신버전으로 업그레이드
sudo apt-get update sudo puppet resource package puppetmaster ensure=latest
Puppet 마스터 서버 환경설정하기
호스트 네임 설정.
sudo hostname puppet.example.com
/etc/hosts 파일 편집하기
192.168.xxx.xxx puppet #마스터서버
192.168.xxx.xxx puppet-master #마스터서버
192.168.xxx.xxx puppet.example.com #마스터서버 192.168.xxx.xxx puppet-node01.example.com #에이전트
puppet.con 설정파일 편집하기
sudo vi /etc/puppet/puppet.conf
[main] 부분에 master 노드에 대한 정보 추가. puppet기본은 “puppet"임.
dns_alt_names=puppet,puppet-master,puppet.example.com
Puppet Master 서버를 CA Master로 사용하기위해 다음 명령 실행.(80포트를 사용중인 다른 프로그램이 있으면 종료하고 실행해야 함.)
sudo puppet master --verbose --no-daemonize
실행하면 필요한 인증 파일들이 생성됨.
Ctrl-C를 눌러서 프로세스 중지
Puppet 모듈과 Manifests 배치하기
기존에 사용하던 모듈과 manifest가 있으면 그대로 사용하면 되고,
없으면 manifest를 만들고 Puppet Forge에서 테스트용 모듈을 가져와서 설치할 수 있다.
puppet.conf의 [master]이나 [main] 영역에 아래 내용을 추가해서 디렉토리 Environments를 사용하도록 설정
environmentpath = $confdir/environments
디렉토리 Environments
Config File Environments와 동시에 사용할 수 없으며 둘중 하나만 사용해야 함.
디렉토리 Environments를 사용하도록 설정하면 puppet.conf 설정 파일에 있는 manifest, modulepath, config_version이 무시됨.
디렉토리 Environments를 사용하도록 설정하면 puppet.conf 설정 파일에 있는 environment config 영역이 무시됨.
기본설정은 디렉토리 Environments를 사용하지 않음.
디렉토리 environment는 다음 규칙을 따르는 디렉토리임.(샘플 구조는 /etc/puppet/environments를 참고)
modules 디렉토리와 manifests 디렉토리가 있어야 함.
필요한 모듈을 Puppet Forge에서 직접 다운로드 받을 수 있음.
puppet module install puppetlabs-apache
Puppet 마스터 서버 실행하기
sudo service apache2 start
apache에 passenger연동되도록 설치했으므로, apache만 실행하면됨.
브라우저에서 https://puppet.example.com:8140/ 로 접속해서 확인해봄.
The environment must be purely alphanumeric, not ‘’
대시보드는 아직 설치 하지 않았기 때문에 페이지가 이렇게만 뜸.
Puppet 에이전트 설치하기
sudo apt-get install puppet
puppet을 최신버전으로 업그레이드
sudo apt-get update sudo puppet resource package puppet ensure=latest
Puppet 에이전트 환경설정하기
호스트 네임 설정.
sudo hostname puppet-node01.example.com
/etc/hosts 파일 편집하기
192.168.xxx.xxx puppet #마스터서버
192.168.xxx.xxx puppet-master #마스터서버
192.168.xxx.xxx puppet.example.com #마스터서버 192.168.xxx.xxx puppet-node01.example.com #에이전트
Puppet 에이전트 실행하기
sudo puppet agent --verbose --no-daemonize --server puppet.example.com
puppet master에서 puppet 에이전트를 인증해 주어야함.
인증요청 들어온 서버 확인
sudo puppet cert list —all
인증요청 들어온 에이전트에 sign 해줌.
puppet cert sign puppet-node01.example.com
sign이 정상적으로 됐는지 확인
sudo puppet cert list —all
참고
http://docs.puppetlabs.com/
http://docs.puppetlabs.com/learning/introduction.html
'기타' 카테고리의 다른 글
Ansible 설치 & 기본사용하기 (0) 2014.08.29 Puppet을 이용한 배포 (0) 2014.08.01 vagrant 설치 및 실행 (0) 2014.07.24 Chef Cookbook을 node에 지정해서 node에서 cookbook을 실행하기 (0) 2014.04.14 Chef Cookbook 만들기 (0) 2014.04.11 댓글