Aller au contenu principal

ansible-intro

ansible pour commencer

[ansible] doc-ansible

C’est quoi Ansible ?

Ansible est un logiciel qui permet de gérer les configurations des outils et d'installer les logiciels.

On distingue principalement deux grands nœuds à savoir : le nœud de contrôle et les nœuds gérés. Il faut comprendre que le nœud de contrôle est celui qui exécute les tâches à partir de Ansible sur un ordinateur.

playbook

C'est une expression qui désigne des fichiers de configuration. Ceux-ci sont écrits en YAML et permettent de désigner des tâches à exécuter.

Inventaire

Un inventaire Ansible peut être défini comme un simple fichier INI inventaire.ini

  1. Pour assurer une meilleure gestion de configuration, il se sert des écrits code en YAML et permettant la mise à jour des applications même si elles figurent sur des ressources informatiques éloignées.

  2. Ils assurent une sécurité authentique grâce à la SSH et permettent à l’entreprise de disposer des fonctionnalités de visualisation

Utilisation Ansible

  • Le provisionnement d’infrastructure
  • La gestion de configurations
  • Le déploiement d’applications

Présentez les différences entre les deux outils Ansible et Terraform

Terraforme et Ansible sont des outils d’automatisation aux fonctionnalités pas totalement identiques. En effet, Ansible utilise à la fois des langages déclaratifs et procéduraux

En plus avec Ansible il est possible de créer des infrastructures mutables

[ansible-used-lang]

Utilisation des langages déclaratifs et procéduraux

[terraform-used-lang]

Alors que Terraform utilise uniquement celui déclaratif. et ne crée pas d'infrastructures mutables

Utilisation langages déclaratifs

[ansible-def]

Ansible permet la gestion et la configuration des infrastructures sur un même serveur. alors que Terraform le fait sur des serveurs différents. Enfin, l’outil possède une machine maîtresse pour ses stockages tandis que Terraform fonctionne indépendamment du maître.

Le Playbook Ansible

Le Playbook Ansible est un modèle qui sert à l’automatisation de diverses tâches. Ansible Playbook est réalisé sur un ensemble d'hôtes qui constitue un groupe d’inventaire.

L’automatisation d’Ansible repose sur certains paramètres très particuliers.

Expliquez chacun de ces paramètres de façon brève:

  • Le premier paramètre est l’installation qui consiste à installer le logiciel Ansible après l’avoir téléchargé.
  • Le deuxième est la configuration des hôtes. (via SSH)
  • troisième est la ligne de commande par laquelle on peut directement écrire les données sans aucun protocole.
  • Enfin viennent les playbooks qui constituent l’élément basique du fonctionnement d’Ansible. Ce sont des langages YAML, lisibles par tous, et utilisés par Ansible pour l’exécution d’automatisation.

run [ping]

root@dlp:~# ansible 10.0.0.50 -m ping
10.0.0.50 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}

Connexions hôtes client

Dans le cas où vous vous connectez à des hôtes clients avec un utilisateur commun qui peut utiliser les privilèges par [sudo]

Par exemple, l'utilisateur [debian] exécute Ansible. Spécifiez l'option [-b (--become)] pour utiliser les privilèges et spécifiez également [--ask-become-pass] pour saisir le mot de passe (si [NOPASSWD] est défini dans le paramètre [sudo], [--ask-become-pass] n'est pas nécessaire).

Si vous souhaitez utiliser une autre méthode d'utilisation des privilèges que [sudo], spécifiez l'option [--become-method=xxx] (su | pbrun | pfexec | runas). De plus, l'option [-k] ci-dessous signifie qu'elle utilise l'authentification par mot de passe SSH, et non par paire de clés. Pour utiliser [-k] avec l'authentification par mot de passe, il est nécessaire d'installer le paquet [sshpass].

#ansible ip-id -k -m ping -a "systemectl status ssh" -b --ask-become-pass
ansible "192.168.50.11," -k -m ping -a "systemectl status ssh" -b --ask-become-pass