Par : Léonie LE CAM, Quentin DE GIOVANNI, Matteo COUCHOUD
Ecole/Université : CY-TECH, Cergy
Année universitaire : 2023-2024
Module : Big Data
Variante du projet Titanic, Spaceship Titanic demande de prévoir, par des moyens de Machine Learning (ML), si des passagers du vaisseaux arriveront à destination en vie, ou seront "transportés" vers une autre dimension.
L'intérêt de ce projet est d'ajouter à la prédiction le streaming continu de données (les informations de passagers) sur lesquelles des prédictions seront faites, grâce à la mise à disposition du modèle de ML par une API en ligne.
spaceship-titanic
├── cluster
│ ├── resources
│ │ ├── titanic-deploy.yaml
│ │ ├── titanic-nodeport.yaml
│ │ └── titanic-secrets.yaml
│ ├── streamlit_docker
│ │ ├── client.properties
│ │ ├── Dockerfile
│ │ ├── requirements.txt
│ │ └── streamlit_titanic.py
├── documents
│ ├── diagramme_architecture_projet
│ ├── vidéo_de_présentation
│ └── export_projet_dataiku
Ce tutoriel assume que les package kubernetes et minikube ont été installés sur votre machine.
Dans le terminal de commandes Windows/Linux
-
lancer minikube avec une configuration cpu/memory
minikube start --cpus 2 --memory 2048 -
stopper le cluster minikube :
minikube stop -
Supprimer le cluster minikube :
minikube delete
-
Prérequis : lancer le terminal Windows/Linux dans le dossier
clusterdu repository. -
Appliquer le manifeste de namespace et secret sur le cluster :
kubectl apply -f resources/titanic-secrets.yaml
Le terminal devrait afficher les lignes suivantes :
namespace/titanic created
secret/titanic-api-creds created
- Appliquer le manifeste de déploiement sur le cluster :
kubectl apply -f resources/titanic-deploy.yaml
Le terminal devrait afficher les lignes suivantes :
deployment.apps/titanic-app created
-
Avant de passer à l'étape suivante (déploiement du service) : Vérifier avec
kubectl get pods -n titanicque le podtitanic-app-<id>est à 1/1 dans la colonne ready. Si il est à 0/1 et que status est à ContainerCreating, patientez quelques temps avant de rééssayer. -
Une fois le pod lancé, appliquer le manifeste de service au cluster :
kubectl apply -f resources/titanic-nodeport.yaml
Le terminal devrait afficher la ligne suivante :
service/titanic-service created
-
Visualiser les services dans le namespace
titanic:kubectl get svc -n titanic -
Récupérer l'url du service :
minikube service titanic-service --url -n titanic
Après quelques secondes, le terminal devrait afficher une adresse comme celle-ci :


