Ich kenne Puppet aus (begrenzter) Erfahrung und habe festgestellt, dass es im Konfigurationsmanagement jetzt einen starken Trend zu Ansible gibt.
Einerseits verstehe ich, dass Ansible keinen Agenten benötigt, weil es intelligent nutzt ssh
.
Auf der anderen Seite sind dies Funktionen, die Puppet gefallen haben:
- Zugriff auf den systemweiten Konfigurationsstatus und -verlauf (PuppetDB) über die REST-API
- Möglichkeit, Backups von überschriebenen Dateien (Filebuckets) zu speichern
- Möglichkeit, einen Teil der Hiera-Konfigurationen zu verschlüsseln (
.eyaml
)
Unter diesen scheint mir PuppetDB das wichtigste und nützlichste zu sein (z. B. für die Integration mit anderen Tools). Daher lautet meine Frage: Hat Ansible etwas Ähnliches wie PuppetDB, dh eine Komponente, die eine API bietet, in der beispielsweise gefragt werden könnte: "Welche Pakete sind auf Host x installiert ?" oder "Auf welchen Hosts ist Paket y installiert?"
(Diese Frage wurde von StackOverflow migriert ).
UPDATE Wesentlicher Nachteil von Puppet ist meine bisherige Erfahrung: Nicht so sehr die Tatsache, dass ein Agent erforderlich ist (nach dem, was ich gesehen habe, führt Ansibles Verwendung von Python auch eine Art Agent in Form eines Python-Interpreters ein ;-), aber dass es möchte, dass sein Agent root
nur und immer handelt.
root
Zugriffsrechte auf einem Servercluster hat, aber dennoch Ansible zum Verwalten einer großen Webanwendung dort verwenden kann. Außerdem gibt es SAs, die sich nicht als anmelden root
, sondern sudo
sparsamer verwenden.
root
? Es ersetzt die Notwendigkeit, dass sich eine SA anmelden und manuell arbeiten muss. Daher muss sie in der Lage sein, alles zu tun, was eine SA tun kann.