productsupcom / ansible-dyninv-mysql
Dies ist ein Dynamic Inventory für Ansible, das zusammen mit MySQL verwendet werden kann.
Es wurde geschrieben, weil wir viele Server betreuen und statische Inventarisierungsdateien unseren Anforderungen nicht genügten und wir MySQL mögen.
Verwendung
Rufen Sie das Skript einfach wie folgt auf
ansible-playbook -i mysql.py# oransible -i mysql.py
Einschränkungen funktionieren auch
ansible-playbook -i mysql.py --limit foo.bar.comansible-playbook -i mysql.py --limit groupFoo
Setup
Ich werde den Prozess der Installation einer Datenbank oder der Erstellung der Tabellen nicht erklären, siehe tables.sql
für die erforderliche MySQL-Struktur.
Nach der Einrichtung benennen Sie mysql.ini.dist
in mysql.ini
um, um Ihren Bedürfnissen gerecht zu werden, wenn Sie kein Caching verwenden wollen, setzen Sie es einfach auf 0.
Gruppen
In der Tabelle group
legen Sie die benötigten Gruppen und deren Variablen an,
Hosts
In der Tabelle host
unter host
platzieren Sie die IP/DNS für das System.
Fakten
Unter hostname
können Sie einen Wert eintragen, der während des Spiels als Variable inventory_hostname
dargestellt wird. Sie können den Namen dieser Fakt-Variable ändern, indem Sie die Variable facts_hostname_var
in meinem mysql.ini
ändern.
Beziehung zwischen Hosts und Gruppen
Die Tabelle hostgroups
bildet die Beziehung zwischen host
und group
mit zwei FOREIGN KEYS
ab.
Kinder
Gruppen können andere Gruppen als Kinder haben, verwenden Sie die Tabelle childgroups
.
Hinweis zu Variablen
Dies gilt für host
bzw. group
Wenn keine Variablen benötigt werden, entweder NULL (tatsächliche MySQL NULL
nicht die string
) oder {}
verwenden.
Leave a Reply