FastNetMon

Friday 6 June 2014

Миграция Puppet Master сервера с WebRick на Passenger + httpd на CentOS

Итак, мы имеем работающий Puppet сервер со скоростью работы не удовлетворяющей нас совершенно. Что делать? Ускорять методом переключения на Апача с модулем Passanger.

Устанавливаем зависимости:

install httpd httpd-devel mod_ssl ruby-devel rubygems gcc zlib-devel  openssl-devel curl-devel gcc-c++

Устанавливаем модули rack и passanger:
gem install rack passenger
Компилируем модуль Passanger для Апача:

passenger-install-apache2-module
Если он спросит какой язык нам требуется, выбираем Ruby.

Далее создаем конфиг

vim /etc/httpd/conf.d/passenger.conf

Со следующим содержимым: https://gist.github.com/pavel-odintsov/7813f50ee2f8dc1ef467

Перегружаем Апача, чтобы активировать модуль:

/etc/init.d/httpd restart
Убеждаемся, что все зацепилось корректно:
apachectl -M 2>&1|grep pass
 passenger_module (shared)

Создаем конфигурацию для запуска Puppet Master как Passanger приложения:
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/config.ru /usr/share/puppet/rack/puppetmasterd/
chown puppet:puppet /usr/share/puppet/rack/puppetmasterd/config.ru
Создаем конфигурацию сайта:

vim /etc/httpd/conf.d/puppetmaster.conf
Вот содержимое: https://gist.github.com/pavel-odintsov/386956e25f886ba214fe

После этого повторно перезапускаем апача и деактивируем старый pupept master сервер:
chkconfig puppetmaster off
/etc/init.d/puppetmaster stop
/etc/init.d/httpd restart
После этого пробуем провести синхронизацию с какого-либо клиента :) Думаю, все будет ок!

Гайд, по которому велась конфигурация: http://docs.puppetlabs.com/guides/passenger.html

No comments :

Post a Comment

Note: only a member of this blog may post a comment.