Ich habe Tools wie Puppet verwendet, um einzelne Systeme mit im Allgemeinen hohem Erfolg zu verwalten. Die Marionette fällt aus, weil sie Abhängigkeiten außerhalb eines einzelnen Servers nicht gut verwalten kann.
Auf einem MySQL-Server konfiguriere ich Puppet beispielsweise für Folgendes:
- Konfigurieren Sie die Authentifizierung auf dem Computer so, dass sie meinen LDAP-Server erreicht
- Konfigurieren Sie apt für die Verwendung meines lokalen Repository-Spiegels
- Installieren Sie MySQL-Pakete
- Schreiben Sie my.cnf
- Starten Sie MySQL
- Erstellen Sie Benutzer in der Datenbank
In diesen Schritten werden eine Reihe von Abhängigkeiten aufgelöst. Beispielsweise kann ich den Datenbankdienst nur starten, wenn ich die Pakete installiert habe. Dies ist nur möglich, wenn das apt-Repo korrekt konfiguriert ist.
Dieser MySQL-Server ist eine Box in einem Master-> Master-Replikations-Setup. In einer idealen Welt würde Puppet (oder ein ähnliches Tool) die Tatsache darstellen, dass Server B warten muss, bis Server A verfügbar ist, und dann versuchen muss, eine Replikationsbeziehung mit ihm herzustellen.
Hier gibt es viel Text - im Grunde frage ich: Gibt es Tools wie Puppet, die solche Abhängigkeiten zwischen Maschinen verwalten können?