Я пытаюсь заставить PuppetDB работать на моей puppetmaster машине. Проблема состоит в том, что я всегда получаю следующее сообщение при выполнении выполненного агента:
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for handsoff.dc0.testing.de to PuppetDB at handsoff:8081: Connection refused - connect(2)
puppetmaster, puppetdb и база данных все работают на том же хосте "невмешательство".
Это - мой /etc/puppet/puppetdb.conf
[main]
server = handsoff
port = 8081
Мой /etc/puppetdb/jetty.ini
[jetty]
# Hostname or IP address to listen for clear-text HTTP. Default is localhost
# host = <host>
# Port to listen on for clear-text HTTP.
port = 8080
# The following are SSL specific settings. They can be configured
# automatically with the tool `puppetdb ssl-setup`, which is normally
# ran during package installation.
# The host or IP address to listen on for HTTPS connections
ssl-host = localhost
# The port to listen on for HTTPS connections
ssl-port = 8081
# Private key path
ssl-key = /etc/puppetdb/ssl/private.pem
# Public certificate path
ssl-cert = /etc/puppetdb/ssl/public.pem
# Certificate authority path
ssl-ca-cert = /etc/puppetdb/ssl/ca.pem
certificate-whitelist = /etc/puppetdb/ssl-whitelist
И файл ssl-белого-списка:
localhost
handsoff
handsoff.dc0.testing.de
lsof показывает мне порты прослушивания
# lsof -i -P | grep puppetdb | grep 80
java 2549 puppetdb 20u IPv6 4982 0t0 TCP localhost:8080 (LISTEN)
java 2549 puppetdb 34u IPv6 9353 0t0 TCP localhost:8081 (LISTEN)
В моем/etc/hosts у меня есть эти строки
127.0.0.1 localhost
127.0.1.1 handsoff handsoff.dc0.testing.de
Таким образом с моей точки зрения марионетка должна смочь соединиться с puppetdb на порте 8081 через localhost и через невмешательство. (Я протестировал обоих, обоих с теми же результатами),
Какие-либо идеи, что могло бы быть неправильным с этой установкой?
Править: Я также пытался установить это в моем puppetdb.conf
:
[main]
server = localhost
port = 8081
Но затем я добираюсь err: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to submit 'replace facts' command for handsoff.dc0.testing.de to PuppetDB at localhost:8081: hostname does not match the server certificate
Я использую самоподписанные сертификаты (не изменил ничего, на, котором после того, как я сделал установку с Кв. - добираются). Мое предположение было то, что белый список позволит мне использовать сертификат этот путь. Та несправедливость?
Убедитесь, что hostname -f
дает полное квалифицированное имя (если нет, обновите / etc / hostname
и обновите sysctl kernel.hostname = {ваше имя хоста}
) .
Для последней версии PuppetDB (4.2):
service puppetdb stop
rm -rf / etc / puppetlabs / puppetdb / ssl /
puppetdb ssl-setup
в случае, если вы используете SSL-соединение с БД вам может потребоваться обновить хранилище ключей:
keytool -import -alias "My CA" -file /etc/puppetlabs/puppetdb/ssl/ca.pem -keystore / etc / puppetlabs / puppetdb / ssl / truststore.JKS
service puppetdb start