PuppetDB: невозможно получить сертификат локального эмитента
Я пытаюсь использовать puppetdb, но сталкиваюсь с некоторыми проблемами.
У меня есть узел с именем puppet
, Это мастер, а также где я установил puppetdb. Это также узел, которым управляет кукла.
Когда я бегу puppet -t
на марионеточном узле я получаю:
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: Error 400 on SERVER: Could not retrieve facts for puppet.example.com:
Failed to submit 'replace facts' command for puppet.example.com to PuppetDB at
puppet:8081: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate
B: certificate verify failed: [unable to get local issuer certificate for
/CN=puppet.example.com]
Я предполагаю, что что-то не так с SSL, но я не уверен, что изменить или где искать.
1 ответ
Похоже, проблема с именем хоста на сервере PuppetDB (master). Удостоверься что hostname -f
выводит адрес, который разрешается со всех узлов, где puppet agent
пробеги.
Из журнала ошибок кажется, что имя хоста просто puppet
:
Failed to submit 'replace facts' command for puppet.example.com to PuppetDB at
puppet:8081
Затем перенесите старые сертификаты
для PuppetDB 2.x:
mv /etc/puppet/puppetdb/ssl/ /etc/puppet/puppetdb/ssl-old puppetdb-ssl-setup -f
для PuppetDB 3.x и новее:
mv /etc/puppetlabs/puppetdb/ssl/ /etc/puppetlabs/puppetdb/ssl-old puppetdb ssl-setup -f
Наконец перезапустите сервис:
service puppetdb restart