productsupcom / ansible-dyninv-mysql
Questo è un inventario dinamico per Ansible da usare insieme a MySQL.
È stato scritto perché manteniamo un sacco di server e i file di inventario statico non soddisfano la nostra domanda, e ci piace MySQL.
Uso
Basta chiamare lo script come il seguente
ansible-playbook -i mysql.py# oransible -i mysql.py
Funziona anche
ansible-playbook -i mysql.py --limit foo.bar.comansible-playbook -i mysql.py --limit groupFoo
Setup
Non spiegherò il processo di installazione di un database o la creazione delle tabelle, vedi tables.sql
per la struttura MySQL richiesta.
Una volta impostato rinominate mysql.ini.dist
in mysql.ini
in base alle vostre esigenze, se non volete usare il caching mettetelo a 0.
Gruppi
Nella tabella group
crei i gruppi che ti servono e le loro variabili,
Hosts
Nella tabella host
sotto host
metti l’IP/DNS del sistema.
Facts
Sotto hostname
puoi inserire un valore, questo sarà presentato come una variabile inventory_hostname
durante il gioco.Puoi modificare il nome di questa variabile Fact cambiando la variabile facts_hostname_var
nel mio mysql.ini
.
Relazione tra Host e Gruppi
La tabella hostgroups
mappa la relazione tra host
e group
usando due FOREIGN KEYS
.
Figli
I gruppi possono avere altri gruppi come figli, usa la tabella childgroups
.
Nota sulle variabili
Questo si applica a host
e group
rispettivamente.Se non sono necessarie variabili o NULLATE (l’attuale NULL
di MySQL non il string
) o usate {}
.
Leave a Reply