Initiation à Kubernetes en 3 temps, de la VM K3s locale jusqu'au déploiement continu GitOps avec Argo CD. Projet DevOps de l'École 42.
| Partie | Objectif | Stack |
|---|---|---|
| p1 | 2 VMs (server + agent) formant un cluster K3s | Vagrant, K3s |
| p2 | 3 applications derrière un Ingress, routées par hôte | K3s, Ingress |
| p3 | Déploiement continu GitOps depuis un dépôt Git | K3d, Argo CD |
| bonus | Argo CD + GitLab auto-hébergé | K3d, GitLab, Argo CD |
flowchart LR
DEV[git push] --> REPO[(Dépôt manifests<br/>iot-p3-rcaillie)]
REPO -->|watch| ARGO[Argo CD]
subgraph K3D[Cluster K3d]
ARGO -->|sync| APP[Deployment + Service]
APP --> ING[Ingress]
end
ING -->|HTTP| USER[Navigateur]
Argo CD surveille le dépôt
iot-p3-rcaillie : tout commit
sur les manifestes est automatiquement synchronisé dans le cluster.
Prérequis : Vagrant + VirtualBox (p1/p2), Docker + k3d + kubectl (p3/bonus).
cd p1 && make # monte le cluster K3s sur 2 VMs
cd p2 && make # déploie les 3 apps + l'ingress
cd p3 && make # crée le cluster K3d et installe Argo CDChaque partie a son Makefile ; p1 et p3 ont un README.md détaillé.
p1/ Vagrantfile + scripts d'install K3s (server/agent)
p2/ manifests des 3 apps + ingress
p3/ cluster K3d + configuration Argo CD
bonus/ Argo CD + GitLab auto-hébergé
MIT — voir LICENSE.