У меня есть марионеточный хост, который получал данные от удаленного марионеточного мастера, и теперь я хочу превратить этот хост в марионеточного мастера. Хост (как марионеточный агент) уже был настроен, и сертификаты SSL обменены.
Теперь есть новый кукловод (на том же хосте), и я ничего не могу его настроить. Я уже настроил puppet.conf так, чтобы он указывал на новый сервер (тот же хост, но с использованием имени DNS), но еще не настроил fileserver.conf. Кукольник использует пассажира и Apache.
Система представляет собой Ubuntu Lucid Lynx с Puppet 2.6.3, и при попытке запустить puppetmaster выдается следующий ответ:
# service puppetmaster start
* Starting puppet master
Could not prepare for execution: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key
...fail!
Конфигурация марионетки-пассажира из пакета дает такую ошибку:
# dpkg --configure puppetmaster-passenger
Setting up puppetmaster-passenger (2.6.3-0ubuntu1~lucid1) ...
Module ssl already enabled
Site puppetmaster already enabled
* Restarting web server apache2
Syntax error on line 16 of /etc/apache2/sites-enabled/puppetmaster:
SSLCARevocationFile: file '/var/lib/puppet/ssl/ca/ca_crl.pem' does not exist or is empty
...fail!
invoke-rc.d: initscript apache2, action "restart" failed.
dpkg: error processing puppetmaster-passenger (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
puppetmaster-passenger
Я заглянул в / var / lib / puppet / ssl, но не знаю, с чего начать - какие сертификаты удалить или изменить, а какие оставить в покое. Я не видел описания SSL-сертификатов. Я не понимаю, как сделать /var/lib/puppet/ssl/ca/ca_crl.pem.
Этот процесс является частью настройки конфигурации с двумя мастерами марионеток. Оба будут активными и будут представлять одни и те же данные в двух разных областях (связанных ссылкой, которая считается «дорогой»). Таким образом, оба мастера марионеток будут иметь одинаковую информацию (возможно, скопированную с помощью rsync) и выступать в качестве мастера марионеток для хостов на их стороне «дорогостоящего» канала, обмениваясь данными нечасто или по запросу.
я нашел это нить в марионеточных пользователях, но не описывает, как все настраивать, и не описывает, какие сертификаты SSL какие.
ДОБАВЛЕНО Дополнительная информация: работает puppet master
дает эту информацию:
# puppet master
Could not prepare for execution: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key
Если бы я только знал, где был этот сертификат. Я уверен, что старая конфигурация сервера мешает новой установке, но не знаю, как удалить конфигурацию.
Я не хочу преуменьшать чьи-либо возможные ответы - возможно, есть более чистый способ достичь моих целей.
Вот что я сделал: удалил все в / var / lib / puppet:
cd /var/lib/puppet
rm -rf *
Поскольку я использовал диспетчер пакетов, я искал файлы, принадлежащие любому пакету в этом каталоге, но их не было. Для Debian и dpkg это делается следующим образом:
dpkg -S * */* */*/*
Поскольку не было обнаружено пакетов, которые владеют этими файлами, это говорит о том, что файлы были созданы «на лету», а поскольку / var / lib / puppet принадлежал пакету (puppet-common), я оставил пустой каталог на месте.
Затем я запустил puppetmaster (на самом деле ошибка, поскольку должен использоваться пассажир), и все соответствующие файлы были воссозданы. После остановки puppetmaster, настройки пассажира, настройки / etc / default / puppetmaster и "перезапуска" puppetmaster (что тихо провалилось) - все снова стало хорошо.
Бег puppet agent
против сервера снял соответствующие сертификаты и все сделал хорошо.
Если вы не заботитесь о сохранении сертификатов для аудита или других целей, вполне допустимо удалить каталог / var / lib / puppet / ssl, поскольку puppet воссоздает все, что ему нужно.
Если вам нужно поддерживать и вы хотите переключиться, вам нужно погрузиться в мир pki и отказаться от сертификатов, повторно развернуть общедоступные сертификаты и т. Д. В вашем случае удаления только cacert для вашего старого кукловода должно быть достаточно, чтобы отключить новый, когда вы говорите на новый сервер.