Epitech projectDevOpsShipped

Bernstein

Epitech DevOps project: Kubernetes deployment of a multi-service app.

Orchestrating a distributed app (Poll → Worker → Result, Redis, PostgreSQL) on a Kubernetes cluster behind Traefik, with cAdvisor observability.

Context

A group project orchestrating a distributed application in Kubernetes with several services, databases, and observability components.

Team

Team of 3 GitHub contributors.

Role

Contribution to the Kubernetes infrastructure: volume management, read-only configuration, workload placement and affinity across nodes, the Result service, and various deployment tweaks.

What was built

A Kubernetes cluster hosting a Poll frontend, an asynchronous worker, a Result frontend, Redis, PostgreSQL, Traefik as ingress, and cAdvisor for observability, with ConfigMap, Services, Deployments, volume, PostgreSQL Secret, and Ingress manifests.

Architecture

Poll (frontend) → Redis → Worker (asynchronous) → PostgreSQL → Result (frontend), with Traefik as ingress and cAdvisor for container monitoring.

Media gallery

Diagram / architectureArchitecture

Technical decisions

  • Architecture largely set by the brief

    Much of the architecture (Poll/Worker/Result services, Redis, PostgreSQL) comes from the Epitech brief. The personal work is mainly in the implementation: Kubernetes debugging, node placement, storage, and deployment constraints.

Stack

KubernetesDockerPostgreSQLRedisTraefik

Skill → evidence

  • Deploys and debugs a multi-service app on Kubernetes

    Set up and troubleshooting of several infrastructure pieces: volumes, read-only configuration, workload placement, and the Result service.

Results

The cluster is deployed and documented through its Kubernetes manifests.

Limitations

The project does not provide published load, availability, or performance metrics.