Terraform est l’outil d’infrastructure as Code qui s’est imposé sur le marché ces dernières années. Toutefois, une de ses principales limites que nous pouvons lui reprocher, c’est l’absence de gestion proactive des drifts. En effet, dans la grande majorité des cas, en production, des différences indésirables peuvent survenir entre l’état désiré et l’état réel de l’infrastructure.
Durant cette présentation, nous verrons comment réussir à réconcilier l’état de l’infrastructure et le code Terraform qui l'a décrit grâce à la méthode GitOps.
Devoxx france 2015 livrer chaque jour ce qui est prêt
Gestion des drifts Terraform avec la méthode GitOps.pdf
1. 21 juin 2023
Gérer les drifts Terraform grâce à la
méthode GitOps
Katia HIMEUR
1
2. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Qui suis-je ?
2
3. Qui suis-je ?
• ☁ SRE & Cofondatrice de Cockpit io
• 💻 Dev & Ops
• 🔗 cockpitio.com/join-us
3
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
❤ #Duchess #Cloud #DevOps #Containers #Serverless #GitOps #IaC #CICD ❤
@katia_tal
4. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
4
5. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Terraform
• Outil d’Infrastructure as Code référence
• Open source
• Nombreuses communuautés actives
• Plus de 3200 providers
• Près de 14 000 modules communautaires
• Possibilités de créer ses propres providers et modules
5
6. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Cela fonctionne jusqu’à…
…l’apparition des drifts
6
7. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Qu’est-ce que les drifts ?
7
8. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Qu’est-ce que les drifts ?
• Di
ff
érences entre l’état désiré déclaré et l’état réel des ressources
• Peuvent-être causées par :
• Modi
f
ications humaines
• E
ff
ets de bord
• Subsistent entre deux “apply”
• Augmentation du risque d’incidents
8
9. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Quelles sont les options pour les
éviter ?
9
10. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Option 1
• Ne rien faire et espérer
10
11. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Option 1
• Ne rien faire et espérer
11
12. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Option 2
• Scripts “maison” ou des outils comme driftctl
• Exécutés de manière programmée
• Limites
• 2 work
f
lows à maintenir
• Risques d’erreurs
• Limitations des outils comme driftctl
12
13. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Quelle serait la meilleure
solution ?
13
14. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Une solution idéale
• Outil autonome et con
f
igurable
• Work
f
low unique : Management & Gestion des drifts
• Qui puisse alerter et/ou réconcilier les états
• Solution proactive
14
15. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Eureka : GitOps
15
16. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Qu’est-ce que le GitOps ?
• Implémentation du déploiement continu
• Processus automatisé qui fait en sorte que l’environnement correspond
toujours à l’état désiré déclaré
• Le repository Git devient la source de vérité
16
17. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Différents outils GitOps
17
18. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
L’outil qui nous intéresse
18
19. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
TF-Controller
19
20. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
TF-Controller
• Contrôleur Flux
• Réconcilie les ressources Terraform grâce à la méthode GitOps
• “GitOpsi
f
ie” l’infrastructure grâce à Kubernetes & Terraform
• Outil proactif
20
21. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Quelques fonctionnalités
21
22. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Quelques fonctionnalités
• Multi-tenancy : fonctionnalité native Flux
• Possibilités :
• de détection des drifts en read-only
• d’appouver les modi
f
ications manuellement
22
23. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Démonstration
23
24. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Conclusion
24
25. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Conclusion
• Terraform est un outil très puissant et complet
• Cependant, la gestion des drifts peut vite devenir pénible
• TF-Controller et le GitOps peuvent être une très bonne solution pour les
gérer
25
26. Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Merci
26