productsupcom / ansible-dyninv-mysql
Dit is een Dynamische Inventaris voor Ansible om te gebruiken in combinatie met MySQL.
Het is geschreven omdat we veel servers onderhouden en statische inventaris bestanden niet aan onze vraag voldeden, en we houden van MySQL.
Gebruik
Neem het script gewoon op als volgt
ansible-playbook -i mysql.py# oransible -i mysql.py
Beperkingen werken ook
ansible-playbook -i mysql.py --limit foo.bar.comansible-playbook -i mysql.py --limit groupFoo
Setup
Ik zal niet het proces uitleggen van het installeren van een database of het maken van de tabellen, zie tables.sql
voor de benodigde MySQL structuur.
Eenmaal ingesteld, hernoem mysql.ini.dist
naar mysql.ini
naar uw behoefte, als u geen caching wilt gebruiken, zet het op 0.
Groups
In de tabel group
maakt u de groepen aan die u nodig heeft en hun variabelen,
Hosts
In de tabel host
onder host
plaatst u de IP/DNS voor het systeem.
Feiten
Onder hostname
kunt u een waarde invullen, deze wordt tijdens het afspelen als variabele inventory_hostname
gepresenteerd.U kunt de naam van deze Feiten variabele wijzigen door de facts_hostname_var
variabele in mijn mysql.ini
te veranderen.
Relatie tussen Hosts en Groepen
De tabel hostgroups
brengt de relatie tussen host
en group
in kaart met behulp van twee FOREIGN KEYS
.
Kinderen
Groepen kunnen andere groepen als kinderen hebben, gebruik hiervoor de tabel childgroups
.
Opmerking over Variabelen
Dit is van toepassing op respectievelijk host
en group
.Als er geen variabelen nodig zijn, maak deze dan NULL (de eigenlijke MySQL NULL
niet de string
) of gebruik {}
.
Leave a Reply