如何迁移现有的puppet客户端以指向新的puppetmaster服务器?我宁愿不手动转到每个客户端框并生成新证书。
尝试显而易见的操作时-将/ etc / puppet和/ var / lib / puppet中的所有文件同步到新服务器-我们收到证书错误
/etc/init.d/puppetmaster start
* Starting puppet master
Could not run: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key
我能够通过复制来解决/var/lib/ssl/certs
,并/var/lib/ssl/private_key
从文件old_hostname
到new_hostname
,这基本上是什么在提出
木偶客户迁移到新的木偶大师(旧木偶大师服务器跑掉了,只有使用备份)
不幸的是,我的客户仍然知道有些不对劲,并给我以下错误:
sudo puppetd --test --server newservername.example.net --noop
info: Retrieving plugin
err: /File[/var/lib/puppet/lib]: Failed to generate additional resources using 'eval_generate': hostname was not match with the server certificate
err: /File[/var/lib/puppet/lib]: Could not evaluate: hostname was not match with the server certificate Could not retrieve file metadata for puppet://newservername.example.net/plugins: hostname was not match with the server certificate
err: Could not retrieve catalog from remote server: hostname was not match with the server certificate
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
因此,我猜测客户端证书仍然知道与它们关联的主机名,并且对切换不满意。
有没有办法使用puppet(指向旧版puppetmaster)来部署新证书,或者以某种方式使签名过程自动化?
简介:提出了两种解决方案:1)打开autosign
主机,从而完全跳过认证,或者2)将旧的CNAME设置为指向新的主机,因为证书已绑定到主机的主机名。我之所以选择#2,是因为autosign感觉就像是在关闭安全性(尽管时间有限)。