productsupcom / ansible-dyninv-mysql
To jest Dynamic Inventory dla Ansible do użycia razem z MySQL.
Został napisany, ponieważ utrzymujemy wiele serwerów i statyczne pliki inwentaryzacyjne nie spełniały naszego zapotrzebowania, a my lubimy MySQL.
Użycie
Po prostu wywołaj skrypt jak poniżej
ansible-playbook -i mysql.py# oransible -i mysql.py
Ograniczenia również działają
ansible-playbook -i mysql.py --limit foo.bar.comansible-playbook -i mysql.py --limit groupFoo
Konfiguracja
Nie będę wyjaśniał procesu instalacji bazy danych lub tworzenia tabel, zobacz tables.sql
dla wymaganej struktury MySQL.
Po skonfigurowaniu zmień nazwę mysql.ini.dist
na mysql.ini
aby dostosować ją do swoich potrzeb, jeśli nie chcesz używać buforowania po prostu ustaw ją na 0.
Groups
W tabeli group
tworzysz potrzebne grupy i ich zmienne,
Hosts
W tabeli host
pod host
umieszczasz IP/DNS dla systemu.
Fakty
Pod hostname
możesz wpisać wartość, będzie ona prezentowana jako zmienna inventory_hostname
podczas zabawy.Nazwę tej zmiennej Faktu możesz zmodyfikować zmieniając zmienną facts_hostname_var
w moim mysql.ini
.
Relacja między hostami i grupami
Tabela hostgroups
odwzorowuje relację między host
i group
za pomocą dwóch FOREIGN KEYS
.
Dzieci
Grupy mogą mieć inne grupy jako dzieci, skorzystaj z tabeli childgroups
.
Uwaga o zmiennych
To dotyczy odpowiednio host
i group
.Jeśli żadne zmienne nie są potrzebne albo NULL it (rzeczywiste MySQL NULL
nie string
) albo użyj {}
.
LICENCJA
.
Leave a Reply