Automatisation & Infrastructure as Code

Chaque nouveau client ou nouvel environnement demande de recréer des serveurs à la main, selon une procédure plus tout à fait à jour. Deux environnements censés être identiques ne le sont pas. Quand la personne qui a construit l’infrastructure est absente, personne ne sait la reproduire.

L’Infrastructure as Code (IaC, infrastructure décrite en code) répond à ce problème : les ressources sont déclarées dans des fichiers versionnés, créées par Terraform et configurées par Ansible. La même description sert pour le test, la production et le prochain client. Le code est relu, testé et déployé par un pipeline GitLab CI. Notre consultant a repris une architecture Terraform et Ansible existante et l’a utilisée pour déployer de nouveaux clients.

Technologies

Terraform

Terraform
déclaration et création des ressources (machines, réseaux, cloud)

Ansible

Ansible
configuration des systèmes et des services

GitLab CI

GitLab CI
validation et application du code d’infrastructure

Proxmox

Proxmox
cible locale pilotée par Terraform

Kubernetes

Kubernetes
clusters déployés et reconstruits depuis le code

Exemples concrets

Socle Kubernetes reconstructible

Sur notre propre infrastructure, le socle Kubernetes est décrit en Terraform : machines virtuelles Proxmox, puis amorçage des nœuds Talos Linux. Les secrets sont chiffrés dans le dépôt (sops/age). Deux pipelines GitLab CI, reconstruction et destruction, ont été exécutés en réel. Les applications arrivent ensuite par Flux CD en GitOps (l’état voulu est décrit dans Git, Flux l’applique) ; ce qui n’est plus décrit est retiré.

Configuration des hôtes et haute disponibilité par pipeline

La configuration de tous nos hôtes (veille des disques, gouverneur CPU, cache ZFS) est décrite par hôte et appliquée par un pipeline Ansible depuis un gabarit commun. Avant tout déploiement, le pipeline sauvegarde les fichiers touchés et montre la différence en simulation ; l’objectif est zéro différence entre le code et l’hôte. Les adresses flottantes keepalived (VRRP) de HAProxy, du DNS et d’OpenVPN suivent le même chemin : test de syntaxe avant rechargement, bascule sans double maître.

Ce que comprend la prestation

  • État des lieux : ce qui est déjà en code, ce qui est fait à la main, ce qui a dérivé.
  • Écriture ou reprise des définitions Terraform et des rôles Ansible, avec un dépôt Git comme source unique.
  • Pipeline GitLab CI qui valide le code, montre le plan et applique après validation.
  • Secrets chiffrés dans le dépôt, jamais en clair.
  • Documentation et transfert : l’équipe fait évoluer le code sans nous.
  • Limite : nous ne mettons pas tout en code d’un coup ; nous commençons par les environnements les plus répétés et laissons l’existant stable en l’état.

Un premier échange est gratuit. Nous contacter.