Ce dépôt regroupe le support projet du module Progressive Delivery MLOps avec Argo sur Kubernetes.
Tout le projet repose sur un même fil rouge :
un service de scoring de fraude en temps réel.
Le service est volontairement simple, mais crédible dans un contexte MLOps.
Il expose trois endpoints :
POST /predictGET /healthGET /metrics
Le module manipule trois versions :
v1: version stablev2: nouvelle version candidatev2-buggy: version volontairement dégradée
Le but n'est pas seulement de lire des explications sur Argo Rollouts.
Le but est de :
- suivre un projet concret
- appliquer les notions au fur et à mesure
- observer ce que font vraiment les stratégies de déploiement progressif
Avant de commencer, assurez-vous d'avoir installé les outils suivants sur votre machine :
gituvdockerkindkubectlmake
Pour la suite du module, vous utiliserez aussi :
- le plugin
kubectl argo rollouts
Pourquoi ces outils sont nécessaires :
gitpour récupérer le dépôt du projetuvpour gérer l'environnement Python et les dépendancesdockerpour construire et exécuter les imageskindpour créer un cluster Kubernetes localkubectlpour interagir avec le clustermakepour lancer plus facilement les commandes du projet
ArgoCD_Course/
├── README.md
├── Makefile
├── service/
├── scripts/
└── k8s/Le projet introduit déjà quelques habitudes utiles :
- utilisation d'un fichier
.env - présence d'un
Makefile - présence de tests locaux du service
- séparation claire entre service, scripts et manifests Kubernetes
make installcp service/.env.example service/.envValeur de départ recommandée :
MODEL_VERSION=v1make testmake runmake kind-createmake installmake runmake statusmake testmake build-imagemake kind-createmake kind-deletemake apply-namespacemake apply-services