Product SiteDocumentation Site

1.3. Установка Puppet Server

Установить пакеты puppet, puppetserver и java-17-openjdk:
# apt-get install puppet puppetserver java-17-openjdk
Версия java может быть другой.
Конфигурационные файлы Puppet находятся в каталоге /etc/puppet/.
Внести изменения в конфигурационный файл /etc/puppet/puppet.conf:
[main]
certname = foreman.test.alt
server = foreman.test.alt
[master]
certname = foreman.test.alt
environment = production
  • в секции main находятся глобальные настройки сервиса;
  • в секции master находятся настройки сервера Puppet;
  • параметр server указывает клиенту, с каким сервером работать;
  • параметр certname задает имя, с которым клиент будет обращаться к серверу.

Примечание

Следующие параметры в файле /etc/puppet/puppet.conf должны быть закомментированы:
[master]
...
#  external_nodes = /usr/lib/puppet-modules/puppetserver-foreman/files/enc.rb
#  node_terminus = exec
Для возможности создания файлов на агентах нужно отредактировать файл /etc/puppet/fileserver.conf:
[files]
path /etc/puppet/code/modules/files
allow *
Запустить и добавить в автозагрузку сервисы:
# systemctl enable --now puppet
# systemctl enable --now puppetserver
Проверка работы агента:
# puppet agent -t
Info: Using environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for foreman.test.alt
Info: Applying configuration version '1696844601'
Info: Creating state file /var/cache/puppet/state/state.yaml

1.3.1. Работа с сертификатами

По умолчанию при первом запуске puppetserver выполняет функцию CA сервера, и генерирует сертификаты в каталоге /etc/puppet/ssl. В созданной цепочке сертификатов, сертификат CA (ca.pem) является самоподписанным.
Можно создать цепочку с корневым сертификатом root_key.pem, которым и подпишется сертификат CA, если перед первым запуском puppetserver выполнить команду:
# puppetserver ca setup --certname foreman.test.alt --subject-alt-names foreman.test.alt
где в --subject-alt-names можно через запятую перечислить альтернативные имена хоста.
Если в сети используется несколько puppetserver, целесообразно создать подписанный сертификат для каждого из этих серверов и затем распространить сертификаты на соответствующие сервера. Для этого следует на остановленном puppetserver са запустить команду:
# puppetserver ca generate --certname <имя_сервера> --subject-alt-names <имя_хоста>,<альтернативное_имя_хоста> --ca-client

Важно

Включить/отключить функцию рuppetserver ca можно в файле /etc/puppetserver/services.d/ca.cfg.