Pro dan Kontra Arsitektur Wayang Terdesentralisasi

14

Kami memiliki sekitar 300 server RHEL yang saat ini terhubung ke server Puppetmaster. Namun, kami telah memperhatikan beberapa hambatan kinerja dan itu adalah titik kegagalan dalam sistem kami. Saya cukup baru untuk boneka pada umumnya dan saya mempertimbangkan untuk membuat arsitektur boneka desentralisasi daripada memiliki klien Wayang terhubung ke server Puppetmaster. Selain dari apa yang saya curigai terjadi seperti perolehan kinerja dan kurangnya penandatanganan dan pertukaran sertifikat SSL untuk mesin baru, apa pro dan kontra lainnya untuk menyiapkan arsitektur yang terdesentralisasi?

JMeterX
sumber
3
Apakah ada alasan mengapa itu harus satu atau lain cara? Sudahkah Anda mempertimbangkan opsi di antara keduanya? Dengan banyaknya server, dan kekhawatiran tentang satu titik kegagalan, lalu mengapa Anda belum memasang master tambahan? Menyiapkan beberapa server boneka berlubang yang dimuat tercakup dalam buku 'Pro Puppet'. Ada banyak fleksibilitas, bahkan mungkin untuk mengatur hirarki server boneka jika itu masuk akal.
Zoredache
@Zoredache Sebenarnya tidak ada alasan bahwa itu harus menjadi satu atau lain cara, saya sedang mencari informasi lebih lanjut tentang arsitektur terdesentralisasi secara umum untuk membantu memfasilitasi keputusan. Saya telah mempertimbangkan master tambahan tetapi inti dari ide tersebut, yang saya minta maaf karena tidak disebutkan, adalah mengurangi jumlah server karena secara langsung berdampak pada anggaran kami. Saya setuju, load balancing server boneka masuk akal, tetapi jika saya bisa menyingkirkan server bersama-sama itu akan menjadi solusi terbaik.
JMeterX

Jawaban:

7

Pergi terdesentralisasi.

Alih-alih menandatangani sertifikat, buat kunci ssh. Jangan berikan kunci untuk yang bukan admin

Anda dapat menggunakan Git sebagai transportasi Anda alih-alih subversi, dan kemudian Anda dapat bercabang untuk mesin / peran yang berbeda, dan kemudian versi perubahan Anda, serta memungkinkan untuk ... tetapi Anda harus tahu DVCS spiel pada saat ini.

Lebih cepat, dan tidak terlalu rumit untuk diatur. Tambahkan beberapa kait komit untuk pemeriksaan kewarasan.

Sekarang, pada titik ini, Anda telah mengganti puppetmaster, dengan model client-server-nya, dengan ssh dan git, keduanya memiliki skala yang lebih baik daripada puppetmaster.

Sekarang, mungkin ada kebutuhan dalam organisasi Anda untuk hierarki. Tidak masalah, simpan saja repo git yang berisi cabang definitif di tempat yang aman.

Bonus:

git blame

akan memungkinkan Anda untuk melihat siapa yang membuat perubahan.

http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control

https://www.braintreepayments.com/braintrust/decentralize-your-devops-with-masterless-puppet-and-supply-drop ?

chiggs
sumber
3

Apakah Anda menjalankan boneka di penumpang? konfigurasi tersimpan? Anda benar-benar seharusnya tidak memiliki masalah skalabilitas sama sekali dengan 300 node selama Anda menangani masalah pengaturan dasar.

czervik
sumber
1
Kami menggunakan konfigurasi Apache + Penumpang. Kami juga menggunakan subversi untuk mendorong perubahan ke Puppetmaster
JMeterX
1

Terdesentralisasi adalah cara terbaik untuk pergi karena setiap klien mengkompilasi manifes sendiri dari salinan lokal sumber manifes. Ini diperbarui setiap kali Anda mendorong pembaruan dari server say git. Penggunaan bandwidth yang jauh lebih efisien karena klien tidak harus menghubungi puppetmaster di setiap perjalanan. Juga menghilangkan titik kegagalan tunggal karena klien dapat diperbarui dari mana saja.

What'sTheStoryWishBone
sumber