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