Назад | Перейти на главную страницу

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 что-то не так, но я не уверен, что изменить и где искать.

Похоже, проблема с именем хоста на сервере 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