Projet EpitechDevOpsLivré

Bernstein

Projet DevOps Epitech : déploiement Kubernetes d’une application multi-services.

Orchestration d'une application distribuée (Poll → Worker → Result, Redis, PostgreSQL) sur un cluster Kubernetes derrière Traefik, avec observabilité cAdvisor.

Contexte

Projet collectif visant à orchestrer une application distribuée dans Kubernetes avec plusieurs services, bases et composants d’observabilité.

Équipe

Équipe de 3 contributeurs GitHub.

Rôle

Contribution à l'infrastructure Kubernetes : gestion des volumes, configuration en lecture seule, répartition et affinité des workloads entre nœuds, service Result et divers ajustements de déploiement.

Réalisation

Cluster Kubernetes hébergeant un frontend Poll, un worker asynchrone, un frontend Result, Redis, PostgreSQL, Traefik en ingress et cAdvisor pour l’observabilité, avec des manifests ConfigMap, Services, Deployments, volumes, Secret PostgreSQL et Ingress.

Architecture

Poll (frontend) → Redis → Worker (asynchrone) → PostgreSQL → Result (frontend), avec Traefik comme ingress et cAdvisor pour le monitoring des conteneurs.

Galerie média

Schéma / architectureArchitecture

Décisions techniques

  • Architecture largement imposée par le sujet

    Une partie importante de l'architecture (services Poll/Worker/Result, Redis, PostgreSQL) vient du sujet Epitech. Le travail personnel porte surtout sur la mise en œuvre : debugging Kubernetes, distribution sur les nœuds, stockage et contraintes de déploiement.

Stack

KubernetesDockerPostgreSQLRedisTraefik

Compétence → preuve

  • Déploie et débogue une application multi-services sur Kubernetes

    Mise en place et dépannage de plusieurs éléments de l'infrastructure : volumes, configuration en lecture seule, placement des workloads et service Result.

Résultats

Le cluster est déployé et documenté par ses manifests Kubernetes.

Limites

Le projet ne fournit pas de mesures publiées de charge, de disponibilité ou de performance.