Ich arbeite an mehreren Ansible-Playbooks, um eine neue Serverinstanz hochzufahren. 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 ausgeführt ansible-playbook playbook_name.yml
und einen Eintrag für jedes Playbook dupliziert, das ich ausführen muss.
Gibt es eine intelligentere / bessere Möglichkeit, dies mithilfe eines Master-Playbooks zu tun, und wenn ja, wie würde es aussehen (Beispiele werden geschätzt)?
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.
ansible
ansible-playbook
nulltek
quelle
quelle
become:
Teil am Ende jedes Blocks. Möglicherweise müssen Sie ein neues Spiel erstellen , um den Verbindungsbenutzer von root zu sudo zu wechseln.Antworten:
Erstellen Sie viele Unter-Playbooks und aggregieren Sie sie über Include-Anweisungen.
Wenn Ihre Playbooks ordnungsgemäß ausgeführt werden müssen und alle obligatorisch sind, erstellen Sie ein Haupt-Playbook und fügen Sie Dateien mit Aufgaben hinzu. Ein Playbook sollte immer ein geschlossener Prozess sein.
quelle
- include : books/*.yml
include
veraltet ist. docs.ansible.com/ansible/latest/playbooks_reuse.html Ich denke, dasimport_playbook: foo
ist der richtige Weg, aber ich bin nicht besonders erfahren.Für neuere Versionen von Ansilbe können Sie viele untergeordnete Wiedergabebücher erstellen und diese mithilfe von import_playbook-Anweisungen zusammenfassen:
quelle