ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.