Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Программы под FreeBSD Установка мастер-узел и агента Puppet

Установка мастер-узел и агента Puppet

Листинг 1.1 – Установка Puppet
# cd /usr/ports/sysutils/puppet
# make install clean
Подготовка puppet-master.example.com:
см.Листинг 1.1
Установка и конфигурирование:
См. Листинг 1.2
Конфигурируем мастер-узел Puppet:
См. Листинг 1.3
Изменим следующие параметры в файле
/usr/local/etc/puppet/puppet.conf:
• factsource = puppet://puppet-master.example.com/facts/
• pluginsource = puppet://puppet-master.example.com/plugins
 
Листинг 1.2 – Создание пустых файлов-скелетов
# mkdir -p /usr/local/etc/puppet/manifests/classes
# mkdir -p /usr/local/etc/puppet/files
# touch /usr/local/etc/puppet/files/sudoers
# touch /usr/local/etc/puppet/files/sshd_config
# touch /usr/local/etc/puppet/files/httpd.conf
# touch /usr/local/etc/puppet/manifests/classes/resource_group.pp
# touch /usr/local/etc/puppet/fileserver.conf
# touch /usr/local/etc/puppet/manifests/site.pp
# touch /usr/local/etc/puppet/manifests/classes/resource_group.pp
 
Листинг 1.3 – конфигурация мастер-узла
# puppet master --genconfig > /usr/local/etc/puppet/
puppet.conf
# cp /usr/local/etc/puppet/auth.conf-dist /usr/local/etc/puppet/auth.conf
 
Создадим следующие файлы с содержимым:
 
Листинг 1.4-/usr/local/etc/puppet/fileserver.conf
[files]
path /usr/local/etc/puppet/files
allow *.example.com
 
Листинг 1.5 –/usr/local/etc/puppet/manifests/site.pp
import “classes/*.pp”
filebucket { main: server => ‘puppet-master.example.
com’ }
File { backup => main }
Exec { path => “/usr/bin:/usr/sbin/:/bin:/sbin” }
node ‘puppet-agent.example.com’ { }
 
И, наконец, запустим мастер-узел, чтобы он принимал на подпись сертификат агента, и далее мог бы отправлять инструкции на агент.
В Листинге 1.5 задаются некоторые имена для агентов и определяется какие ресурсы нужно им передавать. В приведенном выше примере, еще ничего не указано. Мы вернемся к этой конфигурации снова, когда займемся сценариями.
Подготовка puppet-agent.example.com:
 
Листинг 1.6 – Запускаем мастер-узел
# echo ‘puppetmaster_enable=”YES”’ >> /etc/rc.conf
# /usr/local/etc/rc.d/puppetmaster start
 
Листинг 1.7 – установка агента и некоторых зависимых пакетов
# cd /usr/ports/sysutils/puppet
# make install clean
# cd /usr/ports/ports-mgmt/portupgrade
# make install clean
 
Листинг 1.8 – установка и конфигурация агента
# hostname puppet-agent.example.com
# cp /usr/local/etc/puppet/auth.conf-dist /usr/local/etc/puppet/auth.conf
 
Листинг 1.9 – /usr/local/etc/puppet/auth.conf
path /run
method save
allow puppet-master.example.com
 
Начнем сессию подписи сертификата от Puppet
агента на Puppet мастер-сервере:
# puppet agent -v --server puppet-master.example.com
--waitforcert 60 --test
При удачном соединении, подписываем сертификат на мастер-узле
Как только сертификат подписан, сессия на агенте должна завершиться. Дождитесь, пока сам  
агент ее не завершит. Запустите агента на puppet-agent.example.com добавив следующее в /etc/rc.conf:
 
Листинг 1.10 – Подписывается сертификат на мастер-узле
# puppet cert --list --all
# puppet cert --sign puppet-agent.example.com
 
Листинг 1.11 – /etc/rc.conf
puppet_enable=”YES”
puppet_flags=”-v --listen --server puppet-master.example.com”
 
Запустим агент, чтобы он мог забрать инструкции с мастера-узла:
# /usr/local/etc/rc.d/puppet start
 
Когда мастер-узел и агент Puppet более-менее инициализирован, проверьте отсутствие сообщений
об ошибках в /var/log/messages.

Домашняя Программы под FreeBSD Установка мастер-узел и агента Puppet