Article

Infra de A à Z 016 – Intégrer ansible dans terraform

TL;DR

Cette série construit progressivement une infrastructure cloud complète sur Infomaniak Public Cloud. Dans cet épisode, le sujet précis est: Intégrer ansible dans terraform. Utiliser Ansible pour faire converger le sujet "Intégrer ansible dans terraform" sur les machines provisionnées, sans confondre provisioning cloud et configuration système.

La vidéo de référence

Vidéo: https://www.youtube.com/watch?v=abLvtEA-_ZY

Playlist complète: https://www.youtube.com/playlist?list=PLn6POgpklwWpehxly1wOT6eB2NvZX9A-X

Le dépôt support est disponible ici: https://gitlab.com/xavki/infrastructure-cloud-infomaniak. Le chapitre correspondant est 15-vpn-terraform-ansible.

Objectif précis de l épisode

Utiliser Ansible pour faire converger le sujet "Intégrer ansible dans terraform" sur les machines provisionnées, sans confondre provisioning cloud et configuration système.

Concrètement, cet épisode sert à passer d une intention formulée dans le titre à une modification vérifiable dans l infrastructure. Le dépôt donne les fichiers, la vidéo donne l ordre de manipulation, et la vérification doit confirmer que la brique fonctionne vraiment.

Intégrer ansible dans terraform: c est quoi exactement ?

Dans une infrastructure cloud réelle, chaque épisode ajoute une brique: réseau, compute, sécurité, automatisation, découverte de services, observabilité, sauvegardes ou orchestration. Ici, les outils détectés sont: terraform, openstack, ansible, openvpn.

Dans cet épisode, il faut surtout regarder les éléments qui correspondent au titre: les ressources créées ou modifiées, les fichiers du chapitre, les services touchés et la preuve de fonctionnement. Les outils détectés donnent le contexte, mais le fil rouge reste Intégrer ansible dans terraform.

Ce que la vidéo cherche à modifier

  • organiser inventaire, variables et playbooks du chapitre
  • appliquer la configuration de manière reproductible
  • vérifier les rôles réellement exécutés sur les hôtes ciblés
  • Terraform – OpenVPN – add Ansible code in terraform
  • Define an Ansible.cfg file
  • callback_whitelist = profile_tasks
Découvrez  Infra de A à Z 109 - Monitoring : dashboards grafana en configmap

Indices extraits des slides

  • Terraform – OpenVPN – add Ansible code in terraform
  • Define an Ansible.cfg file
  • callback_whitelist = profile_tasks
  • gathering = smart
  • [ssh_connection]

Notions et définitions des outils

  • terraform: Terraform décrit l infrastructure comme du code. Le provider OpenStack transforme des ressources HCL en objets cloud: réseaux, routeurs, instances, volumes, groupes de sécurité.
  • openstack: OpenStack est la couche cloud IaaS: instances, réseaux, routeurs, IP flottantes, groupes de sécurité, volumes et images. Chez Infomaniak Public Cloud, il sert de socle programmable via GUI, CLI, Terraform et API.
  • ansible: Ansible automatise la configuration des machines après leur création. Les playbooks, rôles, inventaires et variables transforment une VM brute en service exploitable.
  • openvpn: OpenVPN fournit un accès réseau privé vers l infrastructure. Dans cette série, il devient un point d entrée pour administrer les machines sans exposer SSH partout.

Ces définitions sont volontairement pratiques: elles expliquent à quoi sert l outil dans la chaîne, pas seulement ce qu il est sur le papier.

Points clés à retenir pour cet épisode

  • Comprendre le rôle de Intégrer ansible dans terraform dans la progression globale de l infrastructure.
  • Identifier la couche concernée: cloud, automatisation, réseau, service, observabilité ou orchestration.
  • Relier les fichiers du dépôt au résultat attendu sur les machines ou dans le cloud.
  • Séparer clairement la création des ressources cloud du paramétrage applicatif.
  • Vérifier les inventaires, variables et rôles avant de lancer un playbook.

Approfondissement spécifique

Dans Intégrer ansible dans terraform, Ansible doit être lu comme la couche de convergence système. Le sujet n est pas uniquement le playbook lancé, mais la combinaison inventaire, variables, rôles et tâches qui transforme une machine provisionnée en service configuré.

Le diagnostic part de la cible: quel groupe d hôtes est visé, quelles variables sont chargées, quel rôle applique le changement et quel fichier ou service prouve le résultat sur la machine.

Découvrez  Infra de A à Z 067 - Mattermost : installation avec ansible

Exemple de code ou configuration du dépôt

[defaults]
#callback_whitelist = profile_tasks
host_key_checking = False
forks = 40
allow_world_readable_tmpfiles = true
#gathering = smart
[ssh_connection]
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o PreferredAuthentications=publickey -o ForwardAgent=yes
pipelining = true

Cet extrait doit être lu comme un support pédagogique. Avant de l utiliser tel quel, vérifiez les variables, noms de réseau, plages CIDR, identifiants, secrets, régions, images et règles d exposition.

Chemin de diagnostic recommandé

  • valider l inventaire Ansible
  • relancer le playbook sans changement inattendu
  • contrôler les services et fichiers modifiés sur la machine
  • Comparer l état attendu dans le dépôt et l état réel dans le cloud, la machine ou le cluster.
  • Documenter la commande, l écran ou la métrique qui prouve que l étape est fonctionnelle.

Répertoires et commandes utiles

Pièges fréquents

  • lancer un playbook sur le mauvais groupe
  • mélanger variables de lab et variables sensibles
  • ne pas vérifier l idempotence

Liens utiles externes

Liens internes conseillés

Pour continuer, lire Infra A à Z 017 – Terraform – first module (network).

FAQ

Pourquoi utiliser Terraform et Ansible ensemble ?

Terraform est adapté à la création et au cycle de vie des ressources cloud. Ansible est adapté à la configuration des machines et services. Les mélanger sans frontière claire rend les changements difficiles à relire.

Pourquoi Infomaniak/OpenStack dans cette série ?

Infomaniak Public Cloud expose des concepts OpenStack standards: compute, réseau, volumes, security groups, object storage, identity et orchestration. Cela permet d apprendre des notions transférables tout en travaillant sur un fournisseur concret.

Que faut-il sécuriser en premier ?

Les accès: credentials cloud, state Terraform, SSH, VPN, dashboards, secrets Ansible, tokens GitLab, consoles d administration et ports exposés publiquement. Une infrastructure automatisée amplifie aussi les erreurs de sécurité.

Comment savoir si une étape est terminée ?

Chaque étape doit produire une preuve: une ressource visible, un service joignable, une métrique collectée, un backup restaurable, une requête qui répond ou un déploiement qui converge.

Conclusion

L épisode 16 s inscrit dans une progression complète: construire, automatiser, sécuriser, observer et exploiter une infrastructure cloud. Le dépôt Xavki donne les exemples concrets, la documentation Infomaniak/OpenStack donne le cadre fournisseur, et le deep dive permet de comprendre le rôle des outils au lieu de seulement rejouer des commandes.

Explorer les formations Xavki

Pour apprendre dans l ordre, repartez depuis la roadmap ou une playlist thematique.