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. groupWenn keine Variablen benötigt werden, entweder NULL (tatsächliche MySQL NULL nicht die string) oder {} verwenden.
Leave a Reply