it-swarm.com.de

Wie kann ich mit Ansible mehrere Playbooks in der richtigen Reihenfolge ausführen?

Ich arbeite an mehreren Ansible-Playbooks, um eine neue Serverinstanz zu starten. Es gibt ungefähr 15 verschiedene Playbooks, die ich in einer bestimmten Reihenfolge ausführen muss, um einen Server erfolgreich hochzufahren.

Mein erster Gedanke war, ein Shell-Skript zu schreiben, das ansible-playbook playbook_name.yml und dupliziere einen Eintrag für jedes Playbook, das ich ausführen muss.

Gibt es eine intelligentere/bessere Möglichkeit, dies mit einem Master-Playbook zu tun, und wenn ja, wie würde es aussehen (Beispiele sind willkommen).

Ich könnte ein monolithisches Spielbuch schreiben, das alles kann, aber es gibt einige Spiele, die zuerst als Root und später als Sudo-Benutzer ausgeführt werden.

19
nulltek

Erstellen Sie viele Unter-Playbooks und aggregieren Sie sie über Include-Anweisungen.

- include: playbook-one.yml
- include: playbook-two.yml

Wenn Ihre Playbooks ordnungsgemäß ausgeführt werden müssen und alle obligatorisch sind, erstellen Sie ein Hauptplaybook und fügen Sie Dateien mit Aufgaben hinzu. Ein Spielbuch sollte immer ein geschlossener Prozess sein.

16
flxPeters

Für neuere Versionen von Ansible können Sie viele Unter-Playbooks erstellen und diese über import_playbook-Anweisungen aggregieren:

---
- import_playbook: A-systemd-networkd.yml
- import_playbook: B-fail2ban-ssh.yml
- import_playbook: C-enable-watchdog.yml
13
Peter Senna