Conclusion du cours Ansible

Clap de fin ! Vous connaissez dès à présent la plupart des concepts de base d'Ansible. Je vous présente ici mon message de conclusion.

Introduction

Vous voici arrivé(e) au terme de ce cours et je tiens vraiment à vous remercier d'avoir pris le temps de suivre ce cours et à vous féliciter pour avoir tenu jusqu'au bout 🥇.

À travers ce cours, nous avons vu tous les aspects majeurs d'Ansible, rendant ainsi son utilisation très simple, intéressante et très puissante.

C'est un outil qui se veut simple à l'utilisation mais suffisamment puissant pour automatiser des environnements d'applications complexes à plusieurs niveaux.

Nous avions eu l'occasion de partir sur la base d'un projet Web, que nous avions amélioré et sécurisé à travers les différentes options proposées par Ansible. Nous avions aussi finit par augmenter la performance de notre playbook en étudiant du mieux le protocole ssh mais également les possibilités offertes par le fichier de configuration Ansible.

La suite ?

Ansible reste un outil qui s'intègre très facilement avec plusieurs autres technologies, nous avions par exemple eu l'occasion dans cet article de provisionner notre cluster Kubernetes à l'aide de vagrant et configurer nos différentes machines virtuelles à l'aide d'ansible.

Des projets Ansible sont sûrement à venir dans de nouveaux articles, donc restez informés en vous abonnant à la newsletter ! Sur ce, je vous souhaite une très bonne continuation !

un bébé sait aussi utilisé Ansible

Espace commentaire

Écrire un commentaire

Rejoignez la discussion

Vous devez être connecté pour poster un message.

31 commentaires

ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

@tarik-halil Merci 😁 !

19/03/2020 à 04:50
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Tiens-moi au courant si ça passe pas. Vérifie bien les logs avec -vvv pour voir où ça coince exactement.

18/03/2020 à 12:59
tanguy-renee
Membre Actif
Avatar de tanguy-renee
tanguy-renee
Membre Actif

Merci pour le retour. Je vais tester ça tout de suite.

18/03/2020 à 05:39
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Si tu n'as pas besoin des infos système, désactive-le avec gather_facts: no au début de ton playbook, ça ira beaucoup plus vite.

17/03/2020 à 22:06
arthur41
Membre Actif
Avatar de arthur41
arthur41
Membre Actif

Mon playbook reste bloqué sur le gathering facts, une idée ?

17/03/2020 à 17:37
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Regarde du côté de Molecule. Ça permet de spin up des conteneurs éphémères pour tester tes rôles.

17/03/2020 à 13:31
kfontaine
Membre Actif
Avatar de kfontaine
kfontaine
Membre Actif

Quel est le meilleur outil pour tester les playbooks localement avant de tout casser en prod ?

17/03/2020 à 06:44
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

C'est une bonne remarque. On peut forcer le type avec vars ou via les set_fact. Attention au typage implicite qui peut fausser tes conditions when.

17/03/2020 à 00:22
gregoire37
Membre Actif
Avatar de gregoire37
gregoire37
Membre Actif

Le cours était bien, mais j'aurais aimé voir plus de détails sur le typage des variables.

16/03/2020 à 18:21
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Désactive-le dans ta config pour ce groupe d'hôtes spécifique :

[ssh_connection]
ssh_args = -o ControlMaster=no
16/03/2020 à 12:55
tarik-halil
Membre
Avatar de tarik-halil
tarik-halil
Membre

Hello Hatim,

Un simple Merci pour ce cours assez complet et facile à comprendre.

Bonne continuation.

:)

16/03/2020 à 10:14
celine38
Membre Actif
Avatar de celine38
celine38
Membre Actif

J'ai une erreur sur le protocole SSH avec une vieille distrib. Le ControlPersist fait planter la connexion.

16/03/2020 à 06:11
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Ajoute le tag --step à ta commande pour valider chaque tâche manuellement.

15/03/2020 à 23:07
lgay
Membre Actif
Avatar de lgay
lgay
Membre Actif

Merci pour le tuto. Est-ce qu'il y a un moyen de debugger le playbook pas à pas ?

15/03/2020 à 16:30
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Utilise ansible-vault. Ça chiffre tes fichiers de variables :

ansible-vault encrypt vars/main.yml
15/03/2020 à 10:33
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Hello @Dexter38

Merci beaucoup pour votre message ! Je n'utilise pas de CMS, j'ai tout developpé moi même avec le framework Symfony.

Pour molécule ce n'est pas dans mes priorités pour l'instant mais pourquoi pas un jour 🙂.

15/03/2020 à 07:40
gregoire-odette
Membre Actif
Avatar de gregoire-odette
gregoire-odette
Membre Actif

Comment vous gérez les secrets dans les playbooks ? Je veux pas laisser mes mots de passe en clair.

15/03/2020 à 05:42
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Oui, shell est plus permissif et peut être dangereux. À ne jamais utiliser si le module natif existe. Préfère toujours command ou mieux, le module spécifique (ex: apt, yum).

15/03/2020 à 01:31
dgomez
Membre Actif
Avatar de dgomez
dgomez
Membre Actif

J'ai un warning sur l'utilisation de shell versus command. C'est vraiment critique ?

14/03/2020 à 19:13
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Carrément. C'est même recommandé pour éviter de réinventer la roue. Balance ton requirements.yml et lance un ansible-galaxy install -r.

14/03/2020 à 13:18
kcaron
Membre Actif
Avatar de kcaron
kcaron
Membre Actif

Est-ce qu'on peut utiliser des roles externes via ansible-galaxy pour simplifier les playbooks complexes ?

14/03/2020 à 07:17
Dexter38
Membre
Avatar de Dexter38
Dexter38
Membre

Bonjour,

Excellent article, avec en prime une expression écrite exempte de fautes d'orthographe et de grammaire, ce qui devient rare.

J'aurais une suggestion et une question :

  1. J'attends avec impatience un cours sur molecule 😊
  2. Quel CMS avez-vous utilisé pour ce site ?

Cordialement

14/03/2020 à 01:41
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Vérifiez que le chemin vers votre inventaire est correct. Dans votre Vagrantfile, assurez-vous d'avoir :

ansible.inventory_path = "./inventory"
ansible.playbook = "site.yml"
14/03/2020 à 00:14
utecher
Membre
Avatar de utecher
utecher
Membre

Même souci ici. Le Vagrantfile ne trouve pas le binaire.

13/03/2020 à 19:24
bertrand-dubois
Membre Actif
Avatar de bertrand-dubois
bertrand-dubois
Membre Actif

Hello, super article. J'essaie d'intégrer ça avec Vagrant comme mentionné, mais la connexion échoue au provisionnement.

13/03/2020 à 12:47

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire