Seite wählen

MCollective: einfach ausprobieren!

von | Jul 15, 2013 | IT Automation, DevOps, Puppet, Trainings

Schon mal MCollective eingesetzt? Oder überhaupt schon einmal davon gehört? Das Orchestration Framework, welches das Konfigurationsmanagement-Werkzeug Puppet auf so elegante Art und Weise ergänzt?! NEIN? Dann wird es jetzt aber höchste Zeit!
Weiterlesen sollte, wer seinen Horizont erweitern, eine neue Sicht auf die Arbeitsweise im Operating kennenlernen und einfach mal etwas Neues ausprobieren möchte. Dieser Artikel versteht sich nicht als Howto, sondern als Ansporn zum Rumspielen. MCollective ist nichts, was sofort und für jeden das Richtige ist und einfach auf die Schnelle ausgerollt werden sollte. Aber es ist ein mächtiges Werkzeug, das man einfach mal „gesehen“ haben sollte.
Wie die Bezeichnung Framework schon zeigt, sieht sich MCollective selbst nicht als fertiges Werkzeug, sondern als soliden Grundstock, auf den man aufbauen kann.
Aber was und wozu eigentlich?
MCollective hängt im Grunde alle Server an einen Nachrichtenbus. Und wer dort hinschreiben darf, der steuert („orchestriert“) diese Server. Dies geschieht im Idealfall parallel und funktioniert auch dann, wenn es sich um ein paar tausend solcher Server handelt.
Wer sich eine kleine virtualisierte Test-Umgebung an seinem Arbeitsplatz hochfahren möchte, findet hier alles was er dazu benötigt. Einen wunderbaren ersten Eindruck der Fähigkeiten von MCollective bietet zudem das Puppet Enterprise Dashboard. Auch Opensource-Evangelisten dürfen ruhig einmal über ihren Schatten springen um die unter http://docs.puppetlabs.com/ gezeigten Schritte zu Download und Inbetriebnahme der verlinkten Trainings-Images nachzuspielen.
MCollective ist freie Software, lediglich die Enterprise-Console (also die Web-Oberfläche von Puppet Enterprise) ist es nicht. Aber gerade diese Oberfläche vermag es am Besten, einen ersten Eindruck vom Potential das in MCollective steckt zu vermitteln. Nutzen lässt sich MCollective dann problemlos auch ohne PE.
Anstatt jetzt aber ein fertiges Howto anzubieten möchte ich den Spieß einmal umdrehen. Ärmel hochkrempeln (falls ihr heute nicht ohnehin schon kurzärmlig unterwegs seid), ich habe Arbeit für euch! Fahrt eine der verfügbaren Testumgebungen hoch, und versucht doch einfach mal:

  • Ein bestimmtes Software-Paket auf allen Rechnern zu installieren, die über eine bestimmte Eigenschaft (z.B. ein Fact aus Facter) verfügen. Mehr zu Facter gibt es hier
  • Herauszufinden, wieviele unterschiedliche MySQL-Versionen auf euren Test-VMs installiert sind
  • Den Webserver-Dienst auf all jenen Rechnern zu stoppen, denen eine bestimmte Puppet-Klasse zugewiesen wurde

Ok, ich geb’s zu: so einfach das auch klingen mag, nicht alles wird auf Anhieb klappen und ihr werdet einige Zeit mit Recherchen verbringen. Nehmt euch die Zeit, es zahlt sich aus! Wenn das nur schwer möglich ist könnt ihr natürlich gerne immer noch zu unseren Trainings kommen. In Puppet Advanced lernen wir MCollective und seine Komponenten kennen, in Extending Puppet schreiben wir nebst anderem auch eigene RPC-Agents für MCollective.
Das alles ist aber erst der Anfang. Mit MCollective kann man wunderbar serverübergreifende Jobs skripten. Komplexe Software-Deployments steuern. Puppet on-demand laufen lassen und damit Ressourcen sparen. Monitoring-Plugins ansteuern. Schon spannender wird es dann, wenn man sich um länger laufende Jobs kümmern will – aber auch da finden sich schnell Lösungen.
MCollective ist ein wunderbares Werkzeug. Es setzt aber voraus, dass man bereit ist sich ein klein wenig Zeit zu nehmen, um sich ernsthaft damit auseinanderzusetzen. Dann aber kann man richtig irre (und auch nützliche) Sachen damit treiben.
Wie soll es jetzt weitergehen? Auf jeden Fall abraten möchte ich von dem Ansatz, MCollective mal eben schnell auf alle Server auszurollen – auch wenn das natürlich verlockend klingen mag. Zwar gibt es fix und fertige Puppet-Module, die genau hierbei helfen. Und es gibt ja auch noch Puppet-Enterprise. Dennoch möchte ich eindringlich dazu raten, MCollective erst dann produktiv einzusetzen, wenn man die involvierten Komponenten auch richtig verstanden hat. Ein nicht sauber eingerichtetes MCollective kann genauso gefährlich sein, wie ein flächendeckend ausgerollter Telnet-Dienst es wäre. Aber die NSA sitzt ja eh schon überall, wozu sich noch die Mühe machen…
…ich wünsche noch eine schöne Woche – und viel Freude mit MCollective!!

Thomas Gelf
Thomas Gelf
Principal Consultant

Der gebürtige Südtiroler Tom arbeitet als Principal Consultant für Systems Management bei NETWAYS und ist in der Regel immer auf Achse: Entweder vor Ort bei Kunden, als Trainer in unseren Schulungen oder privat beim Skifahren in seiner Heimatstadt Bozen. Neben Icinga und Nagios beschäftigt sich Tom vor allem mit Puppet.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema IT Automation | DevOps | Puppet | Trainings

Kritischer Fehler in Puppet Version 7.29.0 und 8.5.0

Eine Warnung an alle Nutzer von Puppet, aber auch Foreman oder dem Icinga-Installer, die Version 7.29.0 und 8.5.0 von Puppet enthält einen kritischen Fehler, der die Erstellung eines Katalogs und somit die Anwendung der Konfiguration verhindert. Daher stellt bitte...