Puppetserver/FAQ
ЧаВО по теме Puppetserver
В: Почему при запуске Puppetserver у меня вылезают ошибки:
JRubyPuppetResponse has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0:
О:
1. Установить 17-ю, либо 21-ю java:
# apt-get install java-17-openjdk
2. Получить путь до исполнямки Java-17:
$ ls /etc/alternatives/packages.d/java* |while read -r i; do cat $i| grep /usr/bin/java | sed 's,\S\+\s\([^ ]*\)\s.*,\1,' ; done | grep 17 |head -1 /usr/lib/jvm/java-17-openjdk-17.0.14.0.7-alt0.c9.1.x86_64/bin/java
3. Обновить путь къ java bin въ /etc/sysconfig/puppetserver
JAVA_BIN=/usr/lib/jvm/java-17-openjdk-17.0.14.0.7-alt0.c9.1.x86_64/bin/java
В: Почему при запуске Puppetserver у меня вылезают ошибки:
java.lang.IllegalStateException: Unable to borrow JRubyInstance from pool java.lang.InterruptedException: Lock can't be granted because a pill has been inserted
О: На это могут быть 2 причины:
- У вас произошло несовпадение сертификатов и ключей. Удалите все ключи и сертификаты из папки: /etc/puppet/ssl/certs/ и /etc/puppet/ssl/private_keys/.
- Необходимые для работы сервера рубишные жемы отсутствуют по сообщённым путям. В настойках /etc/puppetserver/conf.d/puppetserver.conf проверьте правильность значений для ключей **ruby-load-path**, **gem-home**, и **gem-path**, значения должны указывать на существующие и действительные папки с жемами, например:
ruby-load-path: [/usr/lib/ruby/site_ruby, /usr/lib/ruby/gems/2.7.0/gems/puppet-7.3.0/lib/, /usr/lib/ruby/gems/2.7.0/gems/facter-2.5.7.1/lib/] gem-home: /usr/lib/ruby/gems/2.7.0 gem-path: [/usr/lib/ruby/gems/2.5.0, /usr/lib/ruby/gems/2.7.0]
В: Почему при запуске Puppetserver у меня вылезает ошибка отсутствующего ключа для сервера:
java.lang.IllegalStateException: Found master private key '/etc/puppet/ssl/private_keys/dno.office.basealt.ru.pem' but master public key '/etc/puppet/ssl/public_keys/dno.office.basealt.ru.pem' is missing
О: Удалите найденный личный ключ /etc/puppet/ssl/private_keys/dno.office.basealt.ru.pem (в вашем случае он по видимости будет иной) и перезапустите сервер.
В: Почему при попытке запуска службы puppetserver systemctl status puppetserver показывает ошибку:
Job for puppetserver.service failed because the control process exited with error code. See "systemctl status puppetserver.service" and "journalctl -xe" for details.
О: Один из самых распространённых вариантов - серверу не хватает ресурсов памяти для запуска.
По умолчанию сервер Puppet использует 2Gb RAM. Это значение можно изменить в файле настроек /etc/default/puppetserver.
Найдите в файле строку JAVA_ARGS. В ней в параметрах -Xms и -Xmx производится настройка памяти. Например для уменьшения требований можно поменять дефолтное:
JAVA_ARGS="-Xms2g -Xmx2g..."
на
JAVA_ARGS="-Xms512m -Xmx512m..."
В: Почему при запуске Puppetserver у меня вылезают ошибка:
Parent directory '/etc' is not writable
О По всей видимости это внутренняя несогласованность кода и настроек, после обновления puppetserver на версию 8.x, обычно достаточно полной остановки службы и её запуска по новой.
# systemctl stop puppetserver # systemctl start puppetserver