이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 10238|회답: 0

퍼펫 원리, 퍼티의 배치, 설치 및 구성

[링크 복사]
게시됨 2014. 10. 20. 오전 9:40:45 | | | |
1. 개요
Puppet은 사용하기 쉽고 강력한 오픈 소스 소프트웨어 자동화 구성 및 배포 도구로, 점점 더 많은 주목을 받고 있습니다. 많은 대형 IT 기업들이 현재 Puppet을 사용해 클러스터에서 소프트웨어를 관리하고 배포하고 있습니다. 예를 들어 구글은 6,000대 이상의 Mac 데스크톱 컴퓨터를 관리하기 위해 Puppet을 사용했습니다(2007년 데이터).
이 글에서는 주로 인형의 설치 방법, 디자인 아키텍처 및 사용 방법을 소개합니다.
2. 설계 건축
퍼펫은 C/S 아키텍처를 기반으로 합니다. 서버 측은 클라이언트 서버의 모든 구성 코드를 저장하며, 이를 puppet에서는 manifest라고 부릅니다. 클라이언트가 매니페스트를 다운로드한 후, 서버는 매니페스트에 따라 패키지 관리, 사용자 관리, 파일 관리 등 구성을 구성할 수 있습니다.
위 그림에서 보듯이, puppet의 워크플로우는 다음과 같습니다: (1) 클라이언트 puppetd가 facter를 호출하고, facter는 호스트명, 메모리 크기, IP 주소 등 호스트의 일부 변수를 감지합니다. pupppetd는 이 정보를 SSL 연결을 통해 서버에 전송합니다; (2) 서버 측 퍼펫마스터는 클라이언트의 호스트네임을 감지한 후, 매니페스트에서 해당 노드 구성을 찾아 이 부분의 내용을 파싱합니다. 구문 분석은 구문 검사와 문법이 잘못되었을 경우 오류 보고라는 여러 단계로 나뉩니다. 문법이 맞다면 계속 파싱을 진행하고, 파싱 결과가 중간 "의사코드"를 생성한 후 의사코드를 클라이언트로 전송합니다; (3) 클라이언트가 "의사코드"를 받고 실행하며, 실행 결과를 서버에 전송합니다; (4) 서버 측이 클라이언트의 실행 결과를 로그에 기록합니다.
PUPPET 작업 과정에서 주목할 점이 두 가지 있습니다. 첫째, 보안을 보장하기 위해 클라이언트와 마스터는 SSL과 인증서를 기반으로 하며, 마스터 인증서로 인증된 클라이언트만이 마스터와 통신할 수 있습니다; 둘째, puppet은 파일을 감지하고 항상 존재하는지 확인하고, ssh 서비스가 항상 켜져 있도록 하며, 파일이 삭제되거나 서비스가 종료되면 다음에 실행될 때(기본값 30분) 파일을 다시 생성하거나 ssh 서비스를 시작합니다.
3. 소프트웨어 설치
apt-get 명령어를 설치하는 것은 권장되지 않습니다. 이 명령어로 다운로드된 퍼펫에는 버그가 있기 때문입니다. 소스 코드에서 직접 설치할 수 있고, 설치해야 하는 소프트웨어는 Ruby, Facter, 그리고 Puppet입니다.
3.1 설치 절차
호스트명을 수정하려면 /etc/host를 편집하세요. puppet은 인증서 기반이며 인증서에 호스트명이 포함되어 있기 때문입니다;
Master and Slave에 Ruby, Facter, Puppet을 설치하고, Ruby Install.rb를 사용해 Facter와 Puppet을 설치하세요.
3.2 설치 후 디렉터리 구조
(1) 설치 디렉터리
설치 디렉터리는 /etc/puppet에 저장되며, 이 디렉터리에는 매니페스트가 저장됩니다.
/user/sbin 아래에 있는 다른 실행 파일들은 주로 다음과 같습니다:
퍼펫: 사용자가 작성한 독립적인 MainFest 파일을 실행하는 데 사용되며, 예를 들면:
puppet -l /tmp/manifest.log manifest.pp
puppetd: 관리되는 호스트에서 실행되는 클라이언트 프로그램으로, 예를 들어 다음과 같습니다:
puppet –server servername –waitforcert 60
puppetmasterd: 관리 머신에서 실행되는 서버 프로그램으로, 예를 들면 다음과 같습니다:
Puppetmasterd – 디버그
퍼페카 퍼펫 인증 프로그램은 주로 노예 인증서를 인증하는 데 사용됩니다. 예를 들면:
인증할 노예 확인: puppetca –list
이 노예들을 인증하라: puppetca -s –a
Puppetrun은 클라이언트에 연결하여 로컬 구성 파일을 강제로 실행하도록 합니다. 예를 들면 다음과 같습니다:
Puppetrun -p 10 –host host1 –host host2 -t remotefile -t webserver
(2) 구성 파일
퍼펫.conf
Puppet의 주요 설정 파일은 루트 사용자의 경우 /etc/puppet/puppet.conf, 일반 사용자의 경우 ~user/.puppet/puppet.conf입니다
구체적인 구성 매개변수는 다음을 참조하세요:
http://docs.puppetlabs.com/references/stable/configuration.html#configuration-files
fileserver.conf
퍼펫 파일 서버의 구성 파일입니다. 경로 구성 파일 경로와 허용/거부를 사용하여 접근 권한을 설정하세요, 자세한 내용은 http://docs.puppetlabs.com/guides/file_serving.html
3.3 설치가 성공적인지 확인하기
마스터와 검증할 슬레이브를 선택하고, 슬레이브의 호스트가 slave00이고 마스터의 호스트가 masterhost라고 가정하고, slave00에 입력하세요:
puppetd –test –server servername
그 다음 마스터호스트에서 인증할 슬레이브를 확인해 보세요:
인형극 – 목록
괜찮다면, slave00이 슬레이브 인증서에 서명하는 모습을 볼 수 있습니다:
인형극 -s -a
이렇게 해서 slave00은 인증서 검증을 통과하고 마스터와 더 상호작용할 수 있게 되었습니다.
masterhost의 /etc/puppet/manifests 디렉터리에 site.pp 파일을 작성하세요. 이 파일은 다음과 같습니다:
노드 기본값 {
파일 {
"/tmp/test":
content=>"hello",
모드 => 0644;
}
}
동시에 slave00에 puppetd –test –server servername을 입력하고, slave00의 /tmp 폴더를 확인한 뒤, hello 파일이고 파일 권한이 -rw-r—r-인 새 파일 test를 생성합니다. 이렇게 해서 인형 설치가 성공적임이 입증되었습니다





이전의:제 USB 플래시 드라이브와 키가 506번에 떨어졌는데, 그 반 친구가 주웠나요?
다음:php-fpm.conf 중요한 매개변수들이 자세히 설명되어 있습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com