Sofortige Puppet-Bereitstellungen mit MCollective

Sofortige Puppet-Bereitstellungen mit MCollective

Hinweis: Ich bin nicht sicher, wohin diese Frage gehört. Vielleicht gehört sie besser zuServerfehler, aber da ich hauptsächlich zu Hacking- und Heimnetzwerkzwecken frage, frage ich hier. Außerdem würde es wahrscheinlich in weniger als 10 - 100 Sekunden per Flametroll von der Site entfernt werden, weshalb ich die Verwendung von Server Fault vermeide.

Ich möchte einen Puppet Master und mehrere Puppet-Clients einrichten und damit herumspielen, um ein Gefühl für die Arbeit mit Puppet mit einem echten Master zu bekommen. Standardmäßig werden Puppet-Client-Instanzen (soweit ich weiß) alle 30 Minuten aktualisiert, fragen den Master nach der neuesten Konfiguration und wenden diese an, sobald sie heruntergefahren wird.

Ich habe gehört, dass MCollective diese Änderungen praktisch sofort vornehmen kann, da es eine Nachrichtenwarteschlange und Parallelität verwendet, um Befehle in Echtzeit an Clients zu senden.

Ich habe versucht herauszufinden, wie das mit einem Puppet Master und Puppet Clients geht, aber es scheint, dass MCollective ein viel größeres Projekt ist als nur ein Echtzeit-Plugin für einen Puppet Master.

Wie richte ich einen einfachen Puppet Master, einen MCollective-Server (und eine Nachrichtenwarteschlange) und meine Puppet-Clients ein, um Änderungen an der Puppet-Konfiguration in Echtzeit zu erhalten?

(Ich verstehe im Allgemeinen, wie das geht apt-get install redis-server puppetmaster mcollective, aber ich möchte verstehen, wie die Integration von MCollective mit dem Puppet Master tatsächlich funktioniert.)

Antwort1

Ich habe nicht damit gespielt, aber das klingt nach dem, was Sie suchen:

Auszug

Dieser Agent verwaltet den Puppet-Agenten. Im Gegensatz zum älteren Puppetd-Plugin unterstützt dieser Puppet 3 und die jüngsten Änderungen an seinen Sperr- und Statusdateien.

Zusätzlich zur grundlegenden Unterstützung für Puppet 3 werden dadurch zahlreiche neue Funktionen hinzugefügt, von denen die meisten sowohl unter Puppet 2.7 als auch unter 3 nutzbar sind.

  • Unterstützt Noop-Läufe und No-Noop-Läufe
  • Unterstützt die Beschränkung von Läufen auf bestimmte Tags
  • Unterstützt Splay, kein Splay, Splaylimits
  • Unterstützt die Angabe einer benutzerdefinierten Umgebung
  • Unterstützt die Angabe eines benutzerdefinierten Master-Hosts und -Ports
  • Unterstützt Puppet 3-Funktionen wie das Sperren von Nachrichten beim Deaktivieren
  • Nutzen Sie die neuen Zusammenfassungs-Plugins, um bei Bedarf praktische Zusammenfassungen bereitzustellen
  • Nutzen Sie die neuen Validierungs-Plugins für eine umfassendere Eingabevalidierung und bessere Fehler
  • Datenquellen für den aktuellen Puppet-Agent-Status und den Status des letzten Laufs

Außerdem gibt es diesen Auszug:

Ausführen aller aktivierten Puppet-Knoten

Nach dem Festschreiben einer Änderung möchten Sie häufig, dass die Änderung so schnell wie möglich im Rahmen der Leistungsbeschränkungen Ihrer Infrastruktur in diese integriert wird.

Die Leistung eines Puppet Masters hängt im Allgemeinen von der maximalen Anzahl gleichzeitiger Puppet-Knoten ab, die einen von ihm verwalteten Katalog anwenden.

Mithilfe der MCollective-Infrastruktur können wir ermitteln, wie viele Maschinen derzeit aktiviert sind und Kataloge anwenden.

Um einen Puppet-Lauf Ihrer gesamten Infrastruktur durchzuführen und dabei die Anzahl gleichzeitiger Puppet-Läufe so nahe wie möglich bei 10 Knoten gleichzeitig zu halten, gehen Sie folgendermaßen vor:

  $ mco puppet runall 10

verwandte Informationen