Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| centos:ansible:detail [10.01.2020 10:17. ] – [Inventarisierung größerer Umgebungen] django | centos:ansible:detail [24.09.2022 14:26. ] (aktuell) – gelöscht django | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Ansible - Erweiterte Konfigurationsbeispiele ====== | ||
| - | {{: | ||
| - | Nachdem wir uns bereits eingehend mit den **[[centos: | ||
| - | |||
| - | ===== Inventory ===== | ||
| - | Zur Verwaltung/ | ||
| - | |||
| - | Im Kapitel **[[centos: | ||
| - | |||
| - | Im Kapitel **[[https:// | ||
| - | |||
| - | {{page> | ||
| - | |||
| - | |||
| - | ==== ~/ | ||
| - | Im Kapitel **[[centos: | ||
| - | |||
| - | In der Ansible-Konfigurationsdatei **''/ | ||
| - | |||
| - | < | ||
| - | |||
| - | [defaults] | ||
| - | |||
| - | # some basic default values... | ||
| - | |||
| - | # | ||
| - | ... | ||
| - | </ | ||
| - | |||
| - | Unsere erweiterte YAML-Konfigurationsdatei für die Hosts wolen wir aber künftig in der Ansible-Administationsumgebung unseres Admin-Users vorhalten und pflegen. Im Beispiel unseres Adminusers **django** wäre dies entsprechend der Pfad **''/ | ||
| - | |||
| - | Wir hinterlegen also dort, dass zukünftig die Inventory-Datei **'' | ||
| - | # vim / | ||
| - | |||
| - | < | ||
| - | |||
| - | # some basic default values... | ||
| - | |||
| - | # Django : 2020-01-01 | ||
| - | # default: # | ||
| - | inventory | ||
| - | </ | ||
| - | |||
| - | === inventory - Beispiel === | ||
| - | Dort legen wir uns unsere erweiterte Host-Datei im YAML-Format an. | ||
| - | $ vim / | ||
| - | |||
| - | <file bash / | ||
| - | all: | ||
| - | hosts: | ||
| - | n3r0.intra.nausch.org: | ||
| - | g33k.intra.nausch.org: | ||
| - | children: | ||
| - | centos8: | ||
| - | vars: # Variablen, die für die ganze Gruppe gelten | ||
| - | ansible_ssh_port: | ||
| - | ansible_ssh_user: | ||
| - | ansible_ssh_private_key_file: | ||
| - | hosts: | ||
| - | www8.dmz.nausch.org: | ||
| - | ansible_ssh_host: | ||
| - | centos7: | ||
| - | vars: # Variablen, die für die ganze Gruppe gelten | ||
| - | ansible_ssh_port: | ||
| - | ansible_ssh_user: | ||
| - | ansible_ssh_private_key_file: | ||
| - | hosts: | ||
| - | www7.dmz.nausch.org: | ||
| - | ansible_ssh_host: | ||
| - | # optische Abtrennung zu nachfolgenden Definitionen | ||
| - | ffmucgluon: | ||
| - | vars: # Variablen, die für die ganze Gruppe gelten | ||
| - | ansible_ssh_port: | ||
| - | ansible_ssh_user: | ||
| - | ansible_ssh_private_key_file: | ||
| - | contact_info: | ||
| - | hosts: | ||
| - | ff_pliening_gbw_ug: | ||
| - | hostname: ff_pliening_gbw_ug | ||
| - | latitude: -48.19861319429455 | ||
| - | longitude: -168.2017571420684 | ||
| - | branch: stable | ||
| - | domain: ffmuc_muc_ost | ||
| - | director: ffmuc_muc_ost | ||
| - | modell: TP-Link TL-WDR4300 v1 | ||
| - | ansible_ssh_host: | ||
| - | |||
| - | ff_pliening_gbw_egod: | ||
| - | hostname: ffplieninggbwegod | ||
| - | pretty_hostname: | ||
| - | latitude: 48.198652080 | ||
| - | longitude: 11.797969940 | ||
| - | branch: stable | ||
| - | domain: ffmuc_muc_ost | ||
| - | director: ffmuc_muc_ost | ||
| - | modell: Ubiquiti UniFi-AC-MESH | ||
| - | ansible_ssh_host: | ||
| - | |||
| - | ff_pliening_gbw_ogod: | ||
| - | hostname: ffplieninggbwogod | ||
| - | pretty_hostname: | ||
| - | latitude: 48.198699460 | ||
| - | longitude: 11.798053090 | ||
| - | branch: stable | ||
| - | domain: ffmuc_muc_ost | ||
| - | director: ffmuc_muc_ost | ||
| - | modell: Ubiquiti UniFi-AC-MESH | ||
| - | ansible_ssh_host: | ||
| - | |||
| - | ff_pliening_gbw_dgod: | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | |||
| - | ff_pliening_gbw_cpod: | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | |||
| - | ff_pliening_gbw_kvm_ol: | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | | ||
| - | |||
| - | ... #YAML end syntax</ | ||
| - | |||
| - | |||
| - | Die YAML-Konfigurationsdatei enthält entsprechende Bemerkungen, | ||
| - | |||
| - | <WRAP center round info 100%> | ||
| - | Natürlich gilt zu bedenken, dass das gezeigte Beispiel mit nur 8 Hosts und überschaubaren Variablen doch schon recht umfangreich geworden ist, wenn dies alles in eine Inventory-Datei gepackt wird. Bei Dutzenden oder Hunderten von Maschinen wird dies dann daraus schwer zu handeln - von verschachtelten Gruppen in Gruppen, oder Host die Mitglied in mehreren Gruppen sein sollen, sprechen wir dann besser gar nicht. Hier werden wir später auf eine **[[# | ||
| - | </ | ||
| - | |||
| - | /* Viele Hinweise und Beispiel zu den Gruppen finden sich auch hier im Kapitel **[[https:// | ||
| - | |||
| - | === playbook === | ||
| - | Unsere gerade angelegte Inventory-Datei wollen wir nun verwenden um die Geolocation-Daten unserer Freifunk-Knoten zu organisieren. Die Geodaten sind in der obigen Inventory-Datei in den beiden Variablen **'' | ||
| - | $ ~/ | ||
| - | |||
| - | <file bash ~/ | ||
| - | --- | ||
| - | - hosts: ffmucgluon | ||
| - | gather_facts: | ||
| - | |||
| - | tasks: | ||
| - | - name: "Set GEO location of our own ffmuc-nodes" | ||
| - | # | ||
| - | raw: uci set gluon-node-info.@location[0]=" | ||
| - | |||
| - | === Script ausführen === | ||
| - | Nun wollen wir unser ersten Playbook ausführen, um die Geodaten aus der Inventory-Datei auf unseren Freifunk-Knoten abzugleichen; | ||
| - | $ ansible-playbook -v 08_change_contact.yml | ||
| - | |||
| - | < | ||
| - | <font style=" | ||
| - | <font style=" | ||
| - | |||
| - | PLAY [ffmucgluon] ********************************************************************************************************************** | ||
| - | |||
| - | <font style=" | ||
| - | <font style=" | ||
| - | changed: [ff_pliening_gbw_kvm_ol] => {" | ||
| - | changed: [ff_pliening_gbw_ogod] => {" | ||
| - | changed: [ff_pliening_gbw_ug] => {" | ||
| - | changed: [ff_pliening_gbw_dgod] => {" | ||
| - | changed: [ff_pliening_gbw_cpod] => {" | ||
| - | <font style=" | ||
| - | <font style=" | ||
| - | <font style=" | ||
| - | <font style=" | ||
| - | <font style=" | ||
| - | <font style=" | ||
| - | <font style=" | ||
| - | < | ||
| - | </ | ||
| - | |||
| - | === Ergebnis === | ||
| - | Alle unsere eigenen definierten Freifunk Knoten haben nun auf der **[[https:// | ||
| - | |||
| - | ==== Inventarisierung größerer Umgebungen ==== | ||
| - | Wie schon im vorhergehenden Beispiel angemerkt, wird es bei einer größeren Anzahl von Hostdefinitionen mit umfangreichen Gruppenzugehörigkeiten mit verschiedensten zugeordneten Variablen sehr schnell " | ||
| - | |||
| - | $ mkdir host_vars | ||
| - | |||
| - | $ mkdir group_vars | ||
| - | === inventory - Beispiel === | ||
| - | Dort legen wir uns unsere erweiterte Host-Datei im YAML-Format an. | ||
| - | $ vim ~/ | ||
| - | |||
| - | <file bash ~/ | ||
| - | all: | ||
| - | hosts: | ||
| - | n3r0.intra.nausch.org: | ||
| - | g33k.intra.nausch.org: | ||
| - | children: | ||
| - | centos8: | ||
| - | hosts: | ||
| - | vml000010: | ||
| - | vml000020: | ||
| - | vml000030: | ||
| - | vml000040: | ||
| - | vml000050: | ||
| - | vml000060: | ||
| - | vml000070: | ||
| - | vml000080: | ||
| - | vml000090: | ||
| - | vml000100: | ||
| - | vml000110: | ||
| - | vml000120: | ||
| - | vml000130: | ||
| - | vml000140: | ||
| - | vml000150: | ||
| - | vml000160: | ||
| - | vml000170: | ||
| - | vml000180: | ||
| - | vml000190: | ||
| - | centos7: | ||
| - | vml001002: | ||
| - | vml000017: | ||
| - | vml000027: | ||
| - | vml000037: | ||
| - | vml000047: | ||
| - | vml000057: | ||
| - | vml000067: | ||
| - | vml000077: | ||
| - | vml000087: | ||
| - | vml000097: | ||
| - | vml000107: | ||
| - | vml000117: | ||
| - | vml000127: | ||
| - | vml000137: | ||
| - | vml000147: | ||
| - | vml000157: | ||
| - | vml000167: | ||
| - | vml000177: | ||
| - | vml000187: | ||
| - | vml000197: | ||
| - | stranger: | ||
| - | vml000201: | ||
| - | vml000202: | ||
| - | vml000203: | ||
| - | vml000204: | ||
| - | vml000205: | ||
| - | vml000206: | ||
| - | vml000207: | ||
| - | vml000208: | ||
| - | intra: | ||
| - | pml010002: | ||
| - | pml010009: | ||
| - | pnc010011: | ||
| - | pml010012: | ||
| - | pml010013: | ||
| - | pml010016: | ||
| - | vml010020: | ||
| - | vml010021: | ||
| - | pml010022: | ||
| - | vml010027: | ||
| - | pml010080: | ||
| - | pwl010082: | ||
| - | pml010083: | ||
| - | pml010085: | ||
| - | pml010086: | ||
| - | pml010087: | ||
| - | pml010089: | ||
| - | mail7: | ||
| - | children: | ||
| - | vml000067: | ||
| - | vml000077: | ||
| - | vml000087: | ||
| - | mail8: | ||
| - | children: | ||
| - | vml000060: | ||
| - | vml000070: | ||
| - | vml000080: | ||
| - | mail: | ||
| - | children: | ||
| - | mail7: | ||
| - | mail8: | ||
| - | db7: | ||
| - | children: | ||
| - | vml000027: | ||
| - | vml000037: | ||
| - | db8: | ||
| - | children: | ||
| - | vml000020: | ||
| - | vml000030: | ||
| - | databases: | ||
| - | children: | ||
| - | db7: | ||
| - | db8: | ||
| - | www7: | ||
| - | children: | ||
| - | vml000097: | ||
| - | vml000127: | ||
| - | www8: | ||
| - | children: | ||
| - | vml000090: | ||
| - | vml000107: | ||
| - | vml000120: | ||
| - | wwwall: | ||
| - | children: | ||
| - | www7: | ||
| - | www8: | ||
| - | ffmuc: | ||
| - | hosts: | ||
| - | ff_pliening_gbw_ug: | ||
| - | ff_pliening_gbw_egod: | ||
| - | ff_pliening_gbw_ogod: | ||
| - | ff_pliening_gbw_dgod: | ||
| - | ff_pliening_gbw_cpod: | ||
| - | ff_roding_as_nausch: | ||
| - | oldeb: | ||
| - | hosts: | ||
| - | ff_pliening_gbw_client: | ||
| - | ff-django-raspi: | ||
| - | olkvm: | ||
| - | hosts: | ||
| - | ff_pliening_gbw_kvm_ol: | ||
| - | olfutro: | ||
| - | hosts: | ||
| - | ff_pliening_gbw_futro_mesh: | ||
| - | olgluon: | ||
| - | children: | ||
| - | olkvm: | ||
| - | olfutro: | ||
| - | olall: | ||
| - | children: | ||
| - | oldeb: | ||
| - | olgluon: | ||
| - | ffmucall: | ||
| - | children: | ||
| - | ffmuc: | ||
| - | olall: | ||
| - | ... #YAML end syntax | ||
| - | </ | ||
| - | * **145** Zeilen (ohne Variablen>: | ||
| - | * mit **76** Hosts | ||
| - | * und **13** Unter-/ | ||
| - | |||
| - | |||
| - | /* | ||
| - | |||
| - | https:// | ||
| - | https:// | ||
| - | |||
| - | |||
| - | FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME | ||
| - | |||
| - | |||
| - | |||
| - | /* https:// | ||