21 juin 2023
Gérer les drifts Terraform grâce à la
méthode GitOps
Katia HIMEUR
1
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Qui suis-je ?
2
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
4
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Cela fonctionne jusqu’à…
…l’apparition des drifts
6
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Qu’est-ce que les drifts ?
7
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Quelles sont les options pour les
éviter ?
9
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Option 1
• Ne rien faire et espérer
10
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Option 1
• Ne rien faire et espérer
11
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Quelle serait la meilleure
solution ?
13
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Eureka : GitOps
15
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Différents outils GitOps
17
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
L’outil qui nous intéresse
18
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
TF-Controller
19
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Quelques fonctionnalités
21
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Démonstration
23
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Conclusion
24
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
Gérer les drifts Terraform grâce à la méthode GitOps
Katia HIMEUR
Merci
26

Gestion des drifts Terraform avec la méthode GitOps.pdf

  • 1.
    21 juin 2023 Gérerles drifts Terraform grâce à la méthode GitOps Katia HIMEUR 1
  • 2.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR 4
  • 5.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR Cela fonctionne jusqu’à… …l’apparition des drifts 6
  • 7.
    Gérer les driftsTerraform grâce à la méthode GitOps Katia HIMEUR Qu’est-ce que les drifts ? 7
  • 8.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR Quelles sont les options pour les éviter ? 9
  • 10.
    Gérer les driftsTerraform grâce à la méthode GitOps Katia HIMEUR Option 1 • Ne rien faire et espérer 10
  • 11.
    Gérer les driftsTerraform grâce à la méthode GitOps Katia HIMEUR Option 1 • Ne rien faire et espérer 11
  • 12.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR Quelle serait la meilleure solution ? 13
  • 14.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR Eureka : GitOps 15
  • 16.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR Différents outils GitOps 17
  • 18.
    Gérer les driftsTerraform grâce à la méthode GitOps Katia HIMEUR L’outil qui nous intéresse 18
  • 19.
    Gérer les driftsTerraform grâce à la méthode GitOps Katia HIMEUR TF-Controller 19
  • 20.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR Quelques fonctionnalités 21
  • 22.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR Démonstration 23
  • 24.
    Gérer les driftsTerraform grâce à la méthode GitOps Katia HIMEUR Conclusion 24
  • 25.
    Gérer les driftsTerraform 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 driftsTerraform grâce à la méthode GitOps Katia HIMEUR Merci 26