productsupcom / ansible-dyninv-mysql
Det här är en dynamisk inventering för Ansible som ska användas tillsammans med MySQL.
Den skrevs för att vi underhåller många servrar och statiska inventeringsfiler inte uppfyller våra krav, och vi gillar MySQL.
Användning
Kalla helt enkelt skriptet på följande sätt
ansible-playbook -i mysql.py# oransible -i mysql.py
Begränsningar fungerar också
ansible-playbook -i mysql.py --limit foo.bar.comansible-playbook -i mysql.py --limit groupFoo
Uppsättning
Jag kommer inte att förklara processen för att installera en databas eller skapa tabellerna, se tables.sql
för den nödvändiga MySQL-strukturen.
När installationen är klar byter du namn på mysql.ini.dist
till mysql.ini
för att passa dina behov, om du inte vill använda caching sätter du den bara på 0.
Groups
I tabellen group
skapar du de grupper du behöver och deras variabler,
Hosts
I tabellen host
under host
placerar du IP/DNS för systemet.
Facts
Under hostname
kan du fylla i ett värde, detta kommer att presenteras som en variabel inventory_hostname
under uppspelningen.Du kan ändra namnet på denna Fact-variabel genom att ändra variabeln facts_hostname_var
i min mysql.ini
.
Relation mellan värdar och grupper
Tabellen hostgroups
kartlägger relationen mellan host
och group
med hjälp av två FOREIGN KEYS
.
Barn
Grupper kan ha andra grupper som barn, använd tabellen childgroups
.
Notering om variabler
Detta gäller för host
respektive group
.Om inga variabler behövs antingen NULL det (faktiska MySQL NULL
inte string
) eller använda {}
.
Leave a Reply