Tools/Ansible/Filtres et adresses réseau : Différence entre versions

De MonPtitSite
Sauter à la navigation Sauter à la recherche
(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

Accueil SysAdmin Hobbies                  

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é.


NOTE
Si vous avez uniquement besoin de factsliés au réseau, vous pouvez exécuter le programme d'installation en tant que tâche explicite et utiliser l'option gather_subset pour limiter la collecte à ces facts.
- name: Collect only network related facts
  setup:
  gather_subset:
    - '!all'
    - network

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.