Mamy około 300 serwerów RHEL, które obecnie łączą się z serwerem Puppetmaster. Zauważyliśmy jednak pewne wąskie gardła w wydajności i jest to przyczyną awarii w naszym systemie. Ogólnie jestem całkiem nowy w marionetce i zastanawiam się nad stworzeniem zdecentralizowanej architektury marionetek zamiast łączenia klientów Puppet z serwerem Puppetmaster. Oprócz tego, co podejrzewam, że się wydarzy, takiego jak wzrost wydajności oraz brak podpisywania i wymiany certyfikatów SSL na nowe maszyny, jakie są inne zalety i wady związane z tworzeniem zdecentralizowanej architektury?
redhat
puppet
puppetmaster
JMeterX
źródło
źródło
Odpowiedzi:
Idź zdecentralizowany.
Zamiast podpisywać certyfikaty, twórz klucze ssh. Nie przekazuj kluczy osobom niebędącym administratorami
Możesz używać Git jako transportu zamiast subversion, a następnie możesz rozgałęziać się dla różnych maszyn / ról, a następnie wersjonować zmiany, a także pozwalać na ... ale w tym momencie musisz znać grę DVCS.
Konfiguracja jest szybsza i mniej wybredna. Dodaj kilka haków zatwierdzania do sprawdzania poprawności.
Teraz, w tym momencie, zastąpiłeś puppetmaster, jego model klient-serwer, ssh i git, oba o lepszej skali niż puppetmaster.
W Twojej organizacji może istnieć potrzeba hierarchii. Nie ma problemu, po prostu przechowuj repozytorium git zawierające definitywną gałąź w bezpiecznym miejscu.
Premia:
pozwoli ci zobaczyć, kto dokonał zmiany.
http://bitfieldconsulting.com/scaling-puppet-with-distribut-version-control
https://www.braintreepayments.com/braintrust/decentralize-your-devops-with-masterless-puppet-and-supply-drop ?
źródło
Prowadzisz marionetkę pasażera? przechowywane konfiguracje? Naprawdę nie powinieneś mieć problemów ze skalowalnością w przypadku 300 węzłów, o ile zajmujesz się podstawowymi problemami z konfiguracją.
źródło
Zdecentralizowany jest najlepszym rozwiązaniem, ponieważ każdy klient kompiluje własny manifest z lokalnej kopii źródła manifestu. Jest aktualizowany za każdym razem, gdy wysyłasz aktualizacje z serwera powiedzmy git. Znacznie bardziej wydajne wykorzystanie przepustowości, ponieważ klienci nie muszą kontaktować się z puppetmasterem przy każdym uruchomieniu. Eliminuje także pojedyncze punkty awarii, ponieważ klienci mogą być aktualizowane z dowolnego miejsca.
źródło