Frage Puppet vs Chef, Pro und Contra von Nutzern und Anwendungsfällen [geschlossen]


Ich habe bereits gegoogelt und gelesen "Zu-Puppet-oder-zu-Chef-das-ist-die-Frage" Artikel.

Ich interessiere mich für Use Cases, Real-World-Implementierungen, bei denen sich die Leute auf realen Problembasen entschieden hatten.

Ich bin besonders interessiert an Integration mit Schuster


55
2017-12-21 11:11


Ursprung


verbunden: serverfault.com/questions/42565/... - warren
@warren: Der Beitrag, den du skizzierst, ist nicht verwandt. Ich frage nach einem direkten Vergleich zwischen diesen Tools, nicht nur eine Erwähnung von Chefkoch, wie es in der Post getan wurde. - drAlberT
Um die Frage des Schusters + Kochs zu beantworten, habe ich einen Zweig in meinem Schuster-Checkout, um JSON für den Chef zurückgeben zu können, aber ich habe kein System, um ihn zu testen. Lassen Sie es mich wissen, wenn Sie Interesse an Tests haben. - jtimberman
Natürlich, aber ich kann jetzt nicht ... Ich werde meine Tests in einigen Monaten fortsetzen, etwas anderes hat jetzt Vorrang - drAlberT
Bezüglich des Abschlusses der Frage ... habe ich nach "echten Problemen" gefragt, nach der Integration von Schustern, nach Anwendungsfällen ... nicht einfach nach "Meinungen", sondern nach motivierten Entscheidungen. Ich bin gegen die Schließung, wie Sie argumentieren können :) - drAlberT


Antworten:


Um ehrlich zu sein, denke ich, dass dies auf eine einfache Sichtweise zurückzuführen ist: Chef scheint eher eine zwingende, programmatische Lösung zu sein, der Gebrauch von Ruby als Sprache macht mich sofort Hoffnung, dass jemand es auf Python portiert hat, wie es der Weg der Welt ist Rubins Ideen.

Das ist aber nicht das, was du für so etwas willst. Sie möchten mit der Leere sprechen, wo das System sein wird und erklären:

"Nach Port 80 beschwöre aus Norden den Dämon nginx. Seine Aufgabe ist es, zu dienen."

"Ein Benutzer sollte existieren, sein Name sollte chiggsy sein und er sollte einer der Mächtigen in der Gruppe des Rades sein,"

"Erhebe eine Feuerwand, dünn an den Stellen 80,443,8080"

Und so weiter, obwohl vielleicht in der Sprache weniger blumig.

Puppet unterstützt dieses Paradigma besser IMO. Ich hätte eines benutzt, ich hatte keine Vorliebe, aber wenn es darauf ankam, passte mich das deklarative besser an.

Marionette.


62
2017-12-01 05:25



Sie könnten sogar noch einen Schritt weiter gehen und eine Linux-Distribution verwenden, die eine deklarative Konfiguration verwendet: nixos.org/nixos - iElectric


Ich habe hier einen detaillierten Vergleich von Chef vs Puppet geschrieben: Puppet vs Chef: 10 Gründe, warum Puppet gewinnt. Obwohl es keine Anwendungsfälle enthält, hoffe ich, dass es einige nützliche Ansatzpunkte für Leute bietet, die sich fragen, welches Tool sie für ihre Infrastrukturautomatisierung wählen sollten.


19
2018-01-13 13:29



Sehr gute Arbeit. Auch wenn viele der Punkte, die Sie geschrieben haben, an die einfache Tatsache gebunden sind, dass die Puppe "älter" und so viel "unterstützter" ist. Ok, es ist eine Tatsache ... aber ich denke, dass niemand jemals Postfix verwendet hätte, weil sendmail bereits ein großes Publikum hatte ... Ich wiederhole, gute Arbeit, ich werde es berücksichtigen - drAlberT
AlberT - ja, Puppet ist schon länger als Chef und hat daher viele der First-Mover-Vorteile: Code-Reife, Entwickler-Basis, installierte Basis, Mind-Share - das wird im Artikel explizit erwähnt. Ist Puppet den Automatisierungsaufgaben von Chef für Linux technisch überlegen? Wahrscheinlich nicht. Ich empfehle immer noch Puppet versus Chef, weil es das marktführende Konfigurationsmanagement-Tool ist. - John Arundel
Der Blog-Artikel ist sehr veraltet, ab 2011 unterstützt puppet nun reine Ruby-Module und hat noch viele weitere "Verben" als die vom Autor bewertete Version. - robbyt


Entschuldigung wegen der Ausführlichkeit. Verwenden Sie das Tool, mit dem Sie Ihre Arbeit einfach erledigen können. Das ist der Punkt der Automatisierung, oder?

Geschichte: Ich habe Puppet in vergangenen Gigs benutzt und letzten Monat verbrachte ich ungefähr eine Woche damit, mich an den Koch zu gewöhnen, um zu sehen, ob ich bei meinem neuen Gig den Wechsel machen würde.

Ich sprang nicht.

Jargon: Ein unglückliches Problem mit diesen beiden Systemen ist die Überladung der Fachsprache. (Rezepte, Vorlagen, Knoten, Rollen, Attribute, Anbieter) Es geht weiter und weiter. Ich fand, dass Chef es einen Schritt weiter ging. (Messer, Shef usw.)

Code-Reife: Es genügt zu sagen, dass ich Chef nur ein wenig zu roh fand. Es fühlt sich sehr ähnlich an wie die Marionette im Zeitrahmen von .21 / .22 vor 3-4 Jahren. Es gibt viel Bewegung.

Um nicht zu sagen, dass das in der Puppe auch nicht passiert ist. (Ich habe wieder viele großartige Features in Marionetten entdeckt, die erst in den letzten Jahren aufgetaucht sind. - Regex Matching!)

Rubin: Ich mochte nicht die ganze Überdosis Ruby in Chef. (Sie brauchen Juwel und Rake, bevor Sie überhaupt anfangen können) Sie können Ruby verwenden, um komplexe Probleme in Puppet a'la facter zu lösen, aber Sie müssen nicht, wenn Sie nicht wollen.

Komplexität: Ich mochte den GUI Fokus auf Chef nicht. Mir ist klar, dass es schön ist und die Puppe hat ein Web-Interface in den Arbeiten als Add-on, aber ich finde, dass sollte mehr entkoppelt werden.

Chef hat eine viel komplexere Architektur. Es könnte besser skalieren, aber es gibt viele mögliche Fehlerquellen.
http://wiki.opscode.com/display/chef/Architektur

Chef braucht couchdb, rabbitmq und solr zusätzlich zum API Server und der Weboberfläche.

Ich möchte nur eine einfache Client / Server-Schnittstelle, die kein MVC-Framework darüber und einen komplexen Datenspeicher dahinter benötigt.

Marionette ist in dieser Abteilung viel einfacher. (um nicht zu sagen, es gibt nicht viele Add-ons, um es unordentlicher zu machen)

Arbeit erledigen: Am Ende ging ich mit dem, was ich wusste. Nachdem ich eine Woche Side Hacking verbracht hatte und mit Chefkoch kaum Grundlagen schaffen konnte, war ich in der Lage, in ein paar Stunden wieder zur Puppe zurückzukehren und meine Grundbedürfnisse zu befriedigen. (Paketverwaltung, Benutzerverwaltung, Konfigurationsdateivorlagen)

Vorbehalt über Module: Puppet wechselt seit kurzem zu "Modulen", die von Dritten beigesteuert werden. Ich benutze diese nicht und habe eine große Bandbreite in ihrer Qualität gefunden. Achten Sie darauf, unter die Decke zu schauen und zu sehen, was und wie sie arbeiten, bevor Sie sich auf diese eingraben.


14
2017-12-01 07:26





Hier ist eine Meinung: Wir haben alle in unserer Firma ausprobiert und wir bevorzugen Marionette. Einfach weil es einfach zu bedienen ist.


5
2017-12-28 20:43



Haben Sie ein Frontend zur Überwachung der Puppet-Ausführung verwendet? - SyRenity
@srenity Wir verwenden eine benutzerdefinierte nagios-Prüfung, die die mtime von $ puppetvardir / state / state.yaml überprüft, die nur bei einem erfolgreichen Lauf aktualisiert wird. - rodjek
Ist Chef stattdessen so schwierig? Warum? Was sind praktische Schwierigkeiten bei der Annäherung des Chefs an die Puppenumgehung? - drAlberT
theforeman.org/wiki/foreman/Screenshots - Not Now
@NotNow: Schön, ich hatte mich sicher entschieden, ob es die Cobbler-Integration als Alternative zu seinem eigenen Provisioning-System unterstützen würde ... - drAlberT


Ich selbst habe Fälle gesehen, in denen 1000 Hosts mit unterschiedlichen Konfigurationen verwaltet werden, ist viel einfacher mit Marionette. Infact Unternehmen wie Google verwendet Marionette für ihre Bereitstellung.

Die Hauptarchitektur der Puppe ist so, dass sie viel besser funktioniert als andere, wenn man sie richtig konfiguriert. Zum Beispiel fügen Sie Ihre benutzerdefinierten Fakten für Ihre benutzerdefinierten Konfigurationen usw. hinzu. Die folgenden Links können einige Informationen liefern http://slashroot.in/puppet-tutorial-installing-puppet-master-and-puppet-agent

http://slashroot.in/puppet-tutorial-how-does-puppet-work


1
2017-12-12 07:09





Das mag sich seit dem letzten Mal geändert haben, als ich es versuchte, aber als ich einen Koch auf RHEL probierte, gab es keinen klaren Weg, es zu installieren. Jemand hatte ein Yum-Repo erstellt, in dem alle Pakete benötigt wurden, aber am Ende wurden 200 Pakete installiert. Puppet dagegen hat eine einzige rpm (und ein paar Abhängigkeiten).


0
2017-07-18 22:00