Tools/Ansible/Filtres et adresses réseau : Différence entre versions
(Page créée avec « {{MediaWiki}} Utilisation d'Ansible - '''Utilisation des adresses réseau à l'aide de filtres''' = Collecte et traitement d'informations sur le réseau = Un certain no… ») |
|||
Ligne 25 : | Ligne 25 : | ||
Voici d'autres faits très utiles également : | Voici d'autres faits très utiles également : | ||
+ | |||
+ | |||
+ | {| class="wikitable" | ||
+ | !colspan="2"|''facts'' de mise en réseau | ||
+ | |- | ||
+ | ! class="wikitable" | Nom du fact | ||
+ | ! Description | ||
+ | |- | ||
+ | |{{CODE|ansible_facts['dns']['nameservers']}} | ||
+ | |Serveurs de noms DNS utilisés pour la résolution de noms par l'hôte géré. | ||
+ | |- | ||
+ | |{{CODE|ansible_facts['domain']}} | ||
+ | |Inclut le sous-domaine de l'hôte géré. | ||
+ | |- | ||
+ | |{{CODE|ansible_facts['all_ipv4_addresses']}} | ||
+ | |Toutes les adresses IPv4 configurées sur l'hôte géré. | ||
+ | |- | ||
+ | |{{CODE|ansible_facts['all_ipv6_addresses']}} | ||
+ | |Toutes les adresses IPv6 configurées sur l'hôte géré. | ||
+ | |- | ||
+ | |{{CODE|ansible_facts['fqdn']}} | ||
+ | |Nom de domaine complet (nom DNS) pour l'hôte géré. | ||
+ | |- | ||
+ | |{{CODE|ansible_facts['hostname']}} | ||
+ | |Nom d'hôte non qualifié et chaîne dans le nom de domaine complet avant le premier point. | ||
+ | |} | ||
+ | |||
+ | |||
+ | Exemple de playbook utilisant ces ''facts'' : | ||
+ | |||
+ | <syntaxhighlight lang="yaml"> | ||
+ | --- | ||
+ | - name: Set up web servers | ||
+ | hosts: web_servers | ||
+ | become: true | ||
+ | tasks: | ||
+ | - name: Ensure httpd is installed | ||
+ | yum: | ||
+ | name: httpd | ||
+ | state: installed | ||
+ | - name: Start and enable webserver | ||
+ | service: | ||
+ | name: httpd | ||
+ | state: started | ||
+ | enabled: yes | ||
+ | - name: Notify root of server provisioning | ||
+ | mail: | ||
+ | subject: System {{ ansible_facts['hostname'] }} has been successfully provisioned. | ||
+ | </syntaxhighlight> |
Version du 26 mai 2020 à 08:24
Utilisation d'Ansible - Utilisation des adresses réseau à l'aide de filtres
Collecte et traitement d'informations sur le réseau
Un certain nombre de filtres et de plug-ins de recherche sont disponibles pour collecter et traiter les informations réseau pour l'automatisation Ansible. Ces filtres et plug-ins peuvent être utiles en association avec la collecte de faits lorsque vous configurez les périphériques réseau sur vos hôtes gérés.
Le module setup
standard qui collecte automatiquement les facts au début de nombreux playbooks collecte de nombreuses informations sur le réseau de chaque hôte géré.
|
Il existe un certain nombre de facts particulièrement utiles. Le fact ansible_facts['interfaces']
est une liste de tous les noms d'interfaces réseau sur le système. Vous pouvez utiliser cette liste pour examiner les facts relatifs à chacune des interfaces réseau du système. Par exemple, si enp11s0
est une interface sur le système, il y a un fait nommé ansible_facts['enp11s0']
qui est un dictionnaire contenant son adresse MAC, des
adresses IPv4 et IPv6, un module du noyau, etc. en tant que valeurs.
Voici d'autres faits très utiles également :
facts de mise en réseau | |
---|---|
Nom du fact | Description |
ansible_facts['dns']['nameservers']
|
Serveurs de noms DNS utilisés pour la résolution de noms par l'hôte géré. |
ansible_facts['domain']
|
Inclut le sous-domaine de l'hôte géré. |
ansible_facts['all_ipv4_addresses']
|
Toutes les adresses IPv4 configurées sur l'hôte géré. |
ansible_facts['all_ipv6_addresses']
|
Toutes les adresses IPv6 configurées sur l'hôte géré. |
ansible_facts['fqdn']
|
Nom de domaine complet (nom DNS) pour l'hôte géré. |
ansible_facts['hostname']
|
Nom d'hôte non qualifié et chaîne dans le nom de domaine complet avant le premier point. |
Exemple de playbook utilisant ces facts :
---
- name: Set up web servers
hosts: web_servers
become: true
tasks:
- name: Ensure httpd is installed
yum:
name: httpd
state: installed
- name: Start and enable webserver
service:
name: httpd
state: started
enabled: yes
- name: Notify root of server provisioning
mail:
subject: System {{ ansible_facts['hostname'] }} has been successfully provisioned.