Retour aux projets

Projet 42

Inception of Things

Un projet DevOps autour de Vagrant, K3s, Kubernetes et du déploiement GitOps avec Argo CD.

Stack

  • Kubernetes
  • K3s
  • Vagrant
  • Argo CD
  • Docker
  • YAML
  • Ingress
  • Linux

Skills acquis

  • Provisionner des machines virtuelles reproductibles avec Vagrant
  • Déployer et configurer un cluster Kubernetes léger avec K3s
  • Comprendre les pods, services, deployments, ingress et namespaces
  • Utiliser Argo CD pour déployer et synchroniser une application depuis Git
  • Automatiser la configuration d’infrastructure avec des scripts Shell
  • Débugger le réseau, le routage et l’exposition de services dans un cluster local

Liens

Inception of Things est un projet DevOps orienté infrastructure locale, Kubernetes et GitOps. L’objectif était de provisionner des machines virtuelles avec Vagrant, de déployer un cluster léger avec K3s, d’exposer correctement des services et d’utiliser Argo CD pour synchroniser une application depuis un dépôt Git. Le projet rend l’infrastructure beaucoup plus concrète : machines, réseau, manifests YAML, routage et déploiement automatisé.

01 — Provisioning

Cluster local.

Le projet commence avec Vagrant. Chaque machine est décrite, provisionnée et configurée par script, ce qui permet de reconstruire l’environnement proprement au lieu de dépendre d’une configuration manuelle. C’est une première approche concrète d’une infrastructure définie par le code.

Illustration humoristique d’une infrastructure locale avec plusieurs machines virtuelles
Fig. 01
Quand ton laptop devient un mini datacenter et commence à souffler comme un avion.

02 — Kubernetes

Kubernetes léger.

K3s permet d’aborder Kubernetes sans le poids d’un cluster de production complet. Les pods, services, deployments et ingress deviennent plus faciles à comprendre lorsqu’ils tournent sur ses propres machines. Le projet aide à relier les fichiers YAML à des comportements réels : déployer, exposer, router et maintenir un état désiré.

Illustration humoristique de Kubernetes orchestrant plusieurs services
Fig. 02
Kubernetes : beaucoup de YAML pour finalement dire « lance ce truc et garde-le vivant ».

03 — GitOps

Argo CD.

La dernière partie introduit Argo CD et le workflow GitOps. Au lieu de déployer manuellement une application, le cluster surveille un dépôt Git et synchronise l’état attendu depuis celui-ci. Les déploiements deviennent plus traçables, plus reproductibles et plus proches d’une logique d’infrastructure moderne.

Illustration humoristique d’Argo CD synchronisant une application depuis Git vers Kubernetes
Fig. 03
Push sur Git, attendre un peu, puis prétendre que l’indentation YAML n’a jamais posé problème.