Bagaimana saya bisa memigrasi klien boneka kami yang ada ke server puppetmaster baru? Saya lebih suka tidak secara manual pergi ke setiap kotak klien dan menghasilkan sertifikat baru.
Ketika mencoba yang jelas - rsync semua file dari / etc / puppet dan / var / lib / puppet ke server baru - kami mendapat kesalahan sertifikat
/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
Saya dapat mengatasinya dengan menyalin /var/lib/ssl/certs
dan /var/lib/ssl/private_key
file dari old_hostname
ke new_hostname
, yang pada dasarnya adalah apa yang disarankan dalam
migrasi klien wayang ke master wayang baru (server master wayang lama hilang, hanya menggunakan cadangan)
Sayangnya, klien saya masih tahu ada sesuatu yang salah, dan beri saya kesalahan berikut:
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
Jadi saya menduga sertifikat klien masih tahu nama host yang terkait dengannya, dan tidak senang dengan peralihan.
Apakah ada cara untuk menggunakan boneka (menunjuk ke boneka wayang) untuk menyebarkan sertifikat baru, atau entah bagaimana mengotomatiskan proses penandatanganan?
RINGKASAN: Dua solusi disajikan: 1) nyalakan autosign
master, sehingga melewatkan sertifikasi sepenuhnya, atau 2) atur CNAME lama untuk menunjuk ke master baru, karena sertifikat terikat pada nama host master. Saya memilih # 2 karena tanda otomatis terasa seperti mematikan keamanan (walaupun untuk waktu yang terbatas).
sumber
puppetca --sign --all
akan melakukan trik untuk sertifikat klien; server satu adalah yang memberi Anda masalah dengan kesalahan ketidakcocokan.Anda cukup menggunakan
$ssldir
puppetmaster lama dan menggunakannya di puppetmaster baru.Selain itu, mungkin saja untuk menggunakan skrip yang akan:
Jelek tapi selama modul migrasi hanya di server lama dan pastikan tidak ada modul migrasi hanya di server baru, itu adalah satu hal yang harus dilakukan dan hanya perlu dilakukan ...
sumber
autosign
Triknya bagus, tetapi tampaknya berisiko. Tanpa itu, apakah solusi ini benar-benar mengatasi masalah ketidakcocokan sertifikat klien?