1. 설정시 참고 사이트
http://wiki.tunelinux.pe.kr/pages/viewpage.action?pageId=884888
2.. apache, Passenger 연동하기
Passenger 는 Apacche 2.x 확장기능으로 Apache 에서 Rails 나 Rack applicaiton 을 실행할 수 있다.
Puppet (>0.24.6) now ships with a Rack application which can embed a puppetmaster. Puppet (>0.24.6) 은 이제 puppetmaster 를 내장할 수 있는 Rack applicaiton 이 포함되어 있다.
(1) passenger 설치 (참고 http://projects.puppetlabs.com/projects/puppet/wiki/Using_Passenger)
puppetmaster 서버의 puppet.conf 설정에 아래 내용 추가
[puppetmasterd]
ssl_client_header = SSL_CLIENT_S_DN
ssl_client_verify_header = SSL_CLIENT_VERIFY
(2) Apache2, Rack and Passenger 설치
yum install httpd httpd-devel ruby-devel rubygems
gem install -v 1.1.0 rack
gem install passenger
설치시 아래와 같이 Error 발생시
yum install ruby-devel 실행 후 update 진행.
추가적으로 apache에 필요한 라이브러리를 설치한다.
passenger-install-apache2-module
Mod_SSL 설치
yum install mod_ssl
설치 후 다음의 내용을 apache 설정에 추가하라고 나온다.
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerRuby /usr/bin/ruby
cp /usr/share/puppet/ext/rack/files/apache2.conf /etc/httpd/conf.d/puppetmaster.conf
vi /etc/httpd/conf.d/puppetmaster.conf
/etc/httpd/conf.d/puppetmaster.conf 설정은 해당 모듈을 로딩하도록 하고 문서를 참고하여 몇가지 옵션을 튜닝하였음. 도메인 이름을 puppet master 서버로 설정함.
port 는 puppet 의 기본 포트인 8140 으로 설정을 하였음.
# cat /etc/httpd/conf.d/puppetmaster.conf
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/
1.8
/gems/passenger-
2.2
.
11
PassengerRuby /usr/bin/ruby
# tuning passenger setting
# http:
//projects.puppetlabs.com/projects/puppet/wiki/Using_Passenger
PassengerMaxRequests
10000
PassengerPoolIdleTime
300
PassengerMaxPoolSize
15
PassengerUseGlobalQueue on
PassengerHighPerformance on
Listen
8140
<VirtualHost *:
8140
>
SSLEngine on
SSLCipherSuite SSLv2:-LOW:-EXPORT:RC4+RSA
SSLCertificateFile /var/lib/puppet/ssl/certs/master.jongeun.co.kr.pem
SSLCertificateKeyFile /var/lib/puppet/ssl/private_keys/master.jongeun.co.kr.pem
SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem
SSLCACertificateFile /var/lib/puppet/ssl/ca/ca_crt.pem
# CRL checking should be enabled;
if
you have problems with Apache complaining about the CRL, disable the next line
SSLCARevocationFile /var/lib/puppet/ssl/ca/ca_crl.pem
SSLVerifyClient optional
SSLVerifyDepth
1
SSLOptions +StdEnvVars
# The following client headers allow the same configuration to work with Pound.
RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e
ServerName master.jongeun.co.kr
ServerAlias master.jongeun.co.kr
RackAutoDetect On
DocumentRoot /usr/share/puppet/rack/puppetmasterd/
public
/
<Directory /usr/share/puppet/rack/puppetmasterd/>
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Location />
Options None
Order deny,allow
Deny from all
allow from
10.40
</Location>
</VirtualHost>
여러개의 도메인을 이용해야 하므로 SSL 설정에서 ServerName, ServerAlias 에 사용할 모든 도메인을 설정해 주어야 한다. 안 그러면 puppet client 에서 접속시 인증서와 관련한 에러가 난다. (certificate verify failed 등의 메시지)
/var/lib/puppet/ssl/ca/ca_crt.pem 파일은 /var/lib/puppet/ssl/certs/ca.pem 으로 설정을 하는 것이 편리하다.
mkdir -p /usr/share/puppet/rack/puppetmasterd
mkdir /usr/share/puppet/rack/puppetmasterd/
public
/usr/share/puppet/rack/puppetmasterd/tmp
cp /usr/share/puppet/ext/rack/files/config.ru /usr/share/puppet/rack/puppetmasterd/
chown puppet /usr/share/puppet/rack/puppetmasterd/config.ru
httpd 시작
/etc/init.d/httpd restart
모든 것이 정상작동을 하면 이제 puppetmaster 는 직접 실행을 하지 않아도 된다. puppet client 에서 요청을 하면 httpd 에서 puppetmaster 를 띄운다. httpd 를 내리면 puppetmaster 도 내려간다.
3. Puppet 시스템 구성
Puppet Master server : puppet certs 서버. puppet client 에 대한 인증 기능 수행
Puppet File server : puppet file 배포용
Puppet Reporting server : puppet reporting 용
24 모듈 설치 방법
Puppet 은 프로세서 내 forge.puppet labs.com의 연결을 통하여, Module을 설치할수 있다.
puppet module list 현재 설치되어있는 리스트 확인
3. NTP 설치
puppet module search ntp
forge.puppet labs.com 의 ntp 프로세서가 있는지 확인한다.
puppet module install puppetlabs-ntp
'관리툴 > Puppet' 카테고리의 다른 글
Puppet 설치 및 기본설정 (2) | 2013.04.16 |
---|