У меня проблемы с настройкой сценария мастер / узел с марионеткой 3.3.1 (марионетка с открытым исходным кодом) как на главном, так и на подчиненных устройствах. Рабы находятся на Windows и SLES-машине. Мастер также находится на машине SLES.
Проблема: при первом запуске агента он создает новый сертификат и отправляет его мастеру. На мастере я вижу запрос на сертификат и принимаю его. Когда я снова запускаю агент, появляется это сообщение:
Running Puppet agent on demand ...
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: c
ertificate verify failed: [certificate signature failure for /CN=my-master.com]
Info: Retrieving plugin
Error: /File[C:/Dokumente und Einstellungen/All Users/Anwendungsdaten/PuppetLabs
/puppet/var/lib]: Failed to generate additional resources using 'eval_generate':
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certifica
te verify failed: [certificate signature failure for /CN=my-master.com]
Error: /File[C:/Dokumente und Einstellungen/All Users/Anwendungsdaten/PuppetLabs
/puppet/var/lib]: Could not evaluate: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed: [certificate signature fa
ilure for /CN=my-master.com] Could not retrieve file metadata f
or puppet://my-master.com/plugins: SSL_connect returned=1 errno
=0 state=SSLv3 read server certificate B: certificate verify failed: [certificat
e signature failure for /CN=my-master.com]
Error: Could not retrieve catalog from remote server: SSL_connect returned=1 err
no=0 state=SSLv3 read server certificate B: certificate verify failed: [certific
ate signature failure for /CN=my-master.com]
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read se
rver certificate B: certificate verify failed: [certificate signature failure fo
r /CN=my-master.com]
Дело в том, что уже работало, а теперь нет. Этими шагами я уже пытался исправить эту проблему:
Найдите то, что каждая сторона считает активным CA
puppet master --configprint cacert
puppet agent --configprint cacert
Убедитесь, что агенты доверяют тому же ЦС, который мастер использует для подписи. В случае сомнений замените копию на агенте. Затем он должен принять только что подписанный сертификат.
Для чистого листа вам следует только
$(facter fqdn).pem
файлы из $ssldir
на агентаpuppet cert clean <fqdn>
на хозяинеЗатем агент должен выдать еще один CSR, и, если его копия ЦС определенно синхронизирована, он должен наконец принять сертификат.