Ce projet est porté par les étudiants suivants :
- Hugo HUET
- Paul LEREVEREND
- ✔ Automates écrivant les données dans un fichier json
- ✔ Script lisant les fichiers et insérant le données dans la bdd
- ✔ Back permettant d’interroger la bdd
- ✔ Front permettant d’afficher les données sur une plage de 60 min glissant
- ✔ Conteneurs suivant schéma d’archi
- ✔ Orchestrateur kubernetes
- ✔ Tests Unitaires automatiques
- ✔ Déploiement automatique
- ✔ Pipelines de récupération des sources sur le repository github
- ✔ Schéma de bdd scalable
- ✔ Création des utilisateurs
- Base de donnée compressée
- ✔ Dump quotidien de la base
demo
Une documentation pour chaque service est présent au sein de leurs dossiers respectifs.
Nous avons décidé que nos commit auraient cette forme-ci :
(feature) : (ajout,update,delete...)+(sujet du commit)
Voici la configuration de notre git :
- Master/prod
- pre-prod -> configurations docker/kubernetes
- develop -> configurations local
- back
- front
- unite
- collecteur
- docker
- develop -> configurations local
- pre-prod -> configurations docker/kubernetes
- Lancer les tests unitaires
- Faire un déploiement sur la pré-prod
- Mettre à jour le changelog
- Prévenir les clients
docker-compose up
front -> http://localhost:8080/
back -> http://localhost:5000/
Installation de minikube (MacOS)
brew update && brew install kubectl && brew cask install docker virtualbox && brew install minikube
Démarrage de la VM
minikube start
Utilisation de l'environnement docker de la VM
eval $(minikube docker-env)
Création d'un registry pour héberger les images
docker run -d -p 6000:5000 --restart=always --name registry registry:2
Build et push des images sur le registry
docker-compose build
docker-compose push
Déploiement sur kubernetes
kubectl apply -f back-service.yaml,collecteur-deployment.yaml,collecteur-service.yaml,data-1-persistentvolumeclaim.yaml,data-2-persistentvolumeclaim.yaml,data-3-persistentvolumeclaim.yaml,data-4-persistentvolumeclaim.yaml,data-5-persistentvolumeclaim.yaml,db-claim0-persistentvolumeclaim.yaml,db-deployment.yaml,db-service.yaml,front-deployment.yaml,front-service.yaml,ingress.yaml,my-db-persistentvolumeclaim.yaml,unite1-deployment.yaml,unite2-deployment.yaml,unite3-deployment.yaml,unite4-deployment.yaml,unite5-deployment.yaml,back-deployment.yaml
Accès au front et au back
minikube ip
Ajouter dans /etc/hosts
{minikube_ip} kubernetes.front
{minikube_ip} kubernetes.back
front -> http://kubernetes.front/
back -> http://kubernetes.back/
Pour tout supprimer
kubectl delete daemonsets,replicasets,services,deployments,pods,rc --all
Pour accéder au dashboard
minikube dashboard