A production-grade Kubernetes cluster running on bare metal, hosting a complete media server infrastructure with 22 stateful applications. This project demonstrates advanced Kubernetes concepts including GitOps deployment, zero-trust networking, centralized authentication, and distributed storage management.
Configured component-based RBAC with 6 service accounts following least-privilege principles
Deployed hybrid storage architecture using Longhorn for configs and local-path for 1.4TB media
Technical Challenges
Implementing stateful applications in Kubernetes with data persistence
Designing network policies for zero-trust security without breaking functionality
Managing 1.4TB of media data with appropriate storage solutions
Setting up SSO authentication for all applications
Optimizing resource allocation for 22 applications on limited hardware
Creating automated backup strategies for stateful workloads
System Architecture
The cluster runs K3s on bare metal with a single master node and two worker nodes. ArgoCD manages deployments from Git repositories, Longhorn provides distributed block storage, and Traefik handles ingress routing. All applications authenticate through Authelia with LLDAP as the identity provider. Network segmentation is enforced through Cilium CNI with strict NetworkPolicies.
Gallery
Homepage dashboard displaying all 22 applications including media management, services, download clients, and media streaming