Infos
Le fichier inventory.yml
contient le nom de chaque serveur, ainsi que la manière de se connecter à ceux-ci.
Pour plus d'informations sur la manière dont se fichier est construit, se référer à la doc ansible.
Structure du fichier
all:
vars:
variables_for_all_groups
hosts:
hostname1:
specific_variables_for_hostname1
children:
children_group1:
vars:
specific_variables_for_group1
hostname_in_goup1:
hostname2:
specific_variables_for_hostname2
...
all
: Correspond au premier groupe de machine. A savoir, toutes les machines.vars
: Correspond aux variables s'appliquant à toutes les machines du groupeall
.- ex :
ansible_ssh_pipelining: True
-> Activation du pipelining ansible. - ex :
ansible_ssh_private_key_file: "../ansible_private/id_ed25519_ansible"
-> Chemin de la clé publique ssh. - ex :
ansible_ssh_common_args: '-F /dev/null'
-> Ne pas fournir de fichier de configuration ssh.
- ex :
hosts
: Nom des machines n'appartenant pas à un groupe spécifique.- ex :
localhost
-> Le localhost n'appartient à aucun groupe particulier. Il est possible d'attribuer des variables spécifique pour un seul host.- ex de variables spécifique :
ansible_connection: local
-> La connection au localhost ne se fait pas via ssh, mais en local.
- ex de variables spécifique :
- ex :
children
: Collection de groupes enfants du groupeall
. Les groupes enfants vont hériter des variables du groupe parent.children_group1
: Nom d'un groupe enfant (ex :dedie_example
ouvm_example
).vars
: Correspond aux variables s'appliquant au groupechildren_group1
.- ex :
ansible_ssh_common_args: '-F /dev/null -o ProxyCommand="ssh @host.example.fr -o IdentityFile= nc %h %p"'
-> Connection à un vm via un serveur rebond.
- ex :
hosts
: Nom des machines appartenant au groupechildren_group1
.- ex :
host.example.fr
-> La machine nomméhost.example.fr
fait partie du groupechildren_group1
. Il est possible d'attribuer des variables spécifique pour un seul host.- ex de variables spécifique :
ansible_host: 203.0.113.1
-> Adresse IP de la machine nomméhost.example.fr
.
- ex de variables spécifique :
- ex :
Liste des groupes
Voici la liste des groupes déjà présent dans le fichier inventory. Certains playbooks seront lancés sur un seul groupe particulier :
dedie_*
: Les serveurs physiques doivent être placés sous ce groupe. Dans notre cas, nous créons un groupe différent par machine physique. Le groupe porte le nom suivant :dedie_[NomDeLaMachinePhysique]
.vm_* :
: Les serveurs virtuels (VMs) doivent être placés sous ce groupe. Dans notre cas, nous créons un groupe différent par machine physique. Le groupe porte le nom suivant :vm_[NomDeLaMachinePhysique]
. Ce groupe contient des variables spécifique, permettant la connexion en ssh aux VMs via un rebond sur la machine physique.reverse_proxy_*
: La/Les VMs servant de reverse proxy doivent être placée sous ce(s) groupe(s). Dans notre cas, nous créons un groupe différent par machine physique. Le groupe porte le nom suivant :reverse_proxy_[NomDeLaMachinePhysique]
. Les playbooks concernant le(s) reverse proxy seront lancés seulement sur ce groupe.pad_*
: La/Les VMs fournissant l'Outils-LibresEtherpad
doivent être placée sous ce(s) groupe(s).Dans notre cas, nous créons un groupe différent par machine physique. Le groupe porte le nom suivant :pad_[NomDeLaMachinePhysique]
. Les playbooks concernant le(s) pad seront lancés seulement sur ce groupe.sondage_*
: La/Les VMs fournissant l'Outils-LibresFramadate
doivent être placée sous ce(s) groupe(s).Dans notre cas, nous créons un groupe différent par machine physique. Le groupe porte le nom suivant :sondage_[NomDeLaMachinePhysique]
. Les playbooks concernant le(s) sondages seront lancés seulement sur ce groupe.
Variables spécifiques
Voici la liste des variables déjà présentes dans le fichier inventory :
ansible_ssh_pipelining: True
: Activation du pipelining Ansible.ansible_ssh_private_key_file: "../ansible_private/id_ed25519_ansible"
: Chemin de la clé ssh publique utilisée par Ansible.ansible_ssh_common_args: '-F /dev/null'
: Désactivation du fichier de config ssh.ansible_connection: local
: Connection Ansible en local et non via ssh.ansible_host: 203.0.113.1
: Adresse IP d'une machine spécifique.ansible_ssh_common_args: '-F /dev/null -o ProxyCommand="ssh @host.example.fr -o IdentityFile= nc %h %p"'
: Désactivation du fichier de config ssh + utilisation d'une machine rebond.