Ansible - how zur Steuerung der Reihenfolge der hosts, wenn playbook lief
Lassen Sie uns sagen, dass wir definiert haben zwei Maschinen in unserem Bestand Datei:
[db-server-preprod]
172.16.0.1
172.16.0.2
Wenn ich ein playbook gegen diese Gruppe laufen in der gleichen Zeit auf beiden Maschinen, wenn serial 0 oder nacheinander, wenn 1 ist, und die Reihenfolge scheint zu sein, in dem die IPs sind in der Gruppe definierten.
Aber die Frage ist, kann ich die Reihenfolge der playbook-Ausführung auf den angegebenen Maschinen?
Die gleiche Rolle verhält sich etwas anders für eine der Maschinen (der Meister) im Gegensatz zu allen anderen, aber wichtig ist, dass die Maschine, ich will den master wird das erste sein, auf dem das playbook führt.
Meine Ideen bisher:
- erstellen, die andere Gruppe von Namen, in welcher die Bestellung des IPs ist es Umgekehrt, und je nach Bedarf laufen auf einem host oder einer anderen, aber der Nachteil ist, dass ich denke, dass ich brauchen würde, um doppelte group_vars so wird es eine für jede
db-server-preprod*
Variante + alle anderen Umgebungen. - trennen Sie die installation auf zwei verschiedenen Rollen - eine für die master-und standby-Servern und auf der Grundlage der Bedürfnisse, ich werde die eine, die ich will, auf welcher Maschine ich will.
- Versuchen Sie eine pre_task dynamische Gruppe stackoverflow.com/a/45302096/516748
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dürfen Sie Ihr master-host in separaten Gruppe, dann gelten gemeinsame Rolle, um alle Server auf einmal, dann gelten die master-Rollen nur für master-server und slave-Rollen für alle Server mit Ausnahme der master mit ohne Muster.
Inventar:
Playbook:
Können Sie in das playbook
main.yml
"serial = 1", damit führt er eins nach dem anderen, und Sie können sicherstellen, dass das playbook ausführen auf dem master-Knoten und nach, dass es ausgeführt würde, auf die anderen Knoten.