Learn DevOps by building a real application: Docker → Kubernetes → Monitoring → GitOps → Global Deployment. Perfect for career switchers and beginners.
This project is part of the Zee DevOps Learning Path
Start: Quick Wins → Core: Beginner-DevOps-Labs → Reference: Troubleshooting Toolkit → Portfolio: Weekend Projects → Cloud: Cloud-DevOps-Projects
By completing this tutorial, you'll master:
- Container orchestration with Kubernetes (the same tech Netflix uses)
- Production monitoring with Prometheus and Grafana dashboards
- Automated deployments using GitOps principles
- Global scaling with CDN and load balancing
- Real troubleshooting skills that DevOps engineers use daily
Career Impact: These skills are in high demand. DevOps engineers with Kubernetes experience earn 20-30% more than those without it.
Follow this step-by-step progression from beginner developer to production-ready DevOps engineer
Experience the Humor Memory Game: A DevOps Learning Adventure! - A web-based memory game featuring a 4x4 grid of cards, game statistics, and navigation tabs for Game, Leaderboard, My Stats, and About.
# 1. Install prerequisites
# Follow the guide: docs/01-prereqs.md
# 2. Follow step-by-step guides
# Start with: docs/01-prereqs.md
# Then follow: docs/02-compose.md → ... → docs/07-global.md# Deploy everything at once
git clone https://github.com/Osomudeya/DevOps-Home-Lab-2025.git
cd DevOps-Home-Lab-2025
make deploy-all
# Verify deployment
make verify# Quick local setup with Docker Compose
docker-compose up -d
curl http://localhost:3001/api/healthComplete production-grade infrastructure with monitoring, security, and global scaling
- 🎮 Humor Memory Game - Interactive web application with leaderboards
- 🔄 4 Microservices - Frontend, Backend, PostgreSQL, Redis
- 🌐 Global CDN - Cloudflare edge caching and DDoS protection
- 📊 Full Observability - Metrics, logs, traces, and custom dashboards
- 🔒 Enterprise Security - Network policies, security contexts, auto-scaling
| Layer | Technology | Purpose |
|---|---|---|
| Application | Node.js + Express, Vanilla JS | Game logic and UI |
| Database | PostgreSQL 15, Redis 7 | Persistent data and caching |
| Container | Docker, Multi-stage builds | Application packaging |
| Orchestration | Kubernetes (k3d), NGINX Ingress | Container management |
| Monitoring | Prometheus, Grafana | Metrics and visualization |
| GitOps | ArgoCD, Git-based workflows | Automated deployments |
| Security | Network Policies, Security Contexts | Defense-in-depth |
| Global Access | Cloudflare CDN + Tunnels | Worldwide distribution |
| Milestone | What You'll Learn | Time | Difficulty |
|---|---|---|---|
| 0. Prerequisites | Development environment setup | 15-30 min | 🟢 Beginner |
| 1. Docker Compose | Multi-container application | 30-45 min | 🟢 Beginner |
| 2. Kubernetes Basics | Production app deployment | 45-60 min | 🟡 Intermediate |
| 3. Production Ingress | Internet access and networking | 30-45 min | 🟡 Intermediate |
| 4. Observability | Performance monitoring | 60-90 min | 🟡 Intermediate |
| 5. GitOps | Automated deployments | 45-60 min | 🟠 Advanced |
| 6. Global Production | Global scale and security | 90-120 min | 🔴 Expert |
📚 Total Learning Time: 5-8 hours
🎯 Skill Level: Beginner to Production-Ready DevOps Engineer
Real-time user interaction flow from browser to database with error handling
- 📖 Step-by-step guides with copy-paste commands
- 🎯 Clear learning objectives for each milestone
- 🔧 Comprehensive troubleshooting with common issues and solutions
- 🎪 Real application - not just "hello world" demos
- 📝 Interview preparation guide with technical questions
- ⚡ Zero-downtime deployments with rolling updates
- 📈 Horizontal auto-scaling based on CPU/memory metrics
- 🔍 Full observability stack with custom dashboards and alerting
- 🔒 Enterprise security with network policies and security contexts
- 🌍 Global CDN distribution with edge caching
- 🔄 GitOps automation for reliable, auditable deployments
- Container Orchestration: Kubernetes deployment strategies
- Infrastructure as Code: Declarative configurations and GitOps
- Monitoring & Observability: Metrics, dashboards, alerting
- Production Security: Network policies, security contexts, secrets
- CI/CD & Automation: GitOps workflows and deployment pipelines
- Global Scale: CDN integration and performance optimization
- 🎯 Learning Path Overview - Complete tutorial roadmap
- ⚙️ Development Environment Setup - Install all required tools
- 🐳 Docker Multi-Container App - Build your first containerized app
- ☸️ Kubernetes Production Deployment - Deploy apps on Kubernetes
- 🌐 Internet Access & Networking - Make your app accessible worldwide
- 📊 Performance Monitoring - Track app health and performance
- 🔄 Automated Deployments - Deploy with GitOps automation
- 🌍 Global Scale & Security - Production hardening and CDN
- 🚨 Troubleshooting - Common issues and solutions
- ❓ FAQ - Frequently asked questions
- 📖 Glossary - Technical terms and definitions
- 📝 Decision Notes - Architecture decisions explained
- 🔒 Security Contexts - Production security hardening
- 📊 Custom Dashboards - Build monitoring dashboards
- 🌐 Cloudflare Setup - Global CDN configuration
- 🔍 Monitoring Troubleshooting - Fix monitoring issues
- 🔄 GitOps Deep Dive - Advanced GitOps patterns
- 🌍 Global Deployment - Production scaling issues
- 🎤 Interview Prep Guide - Technical interview preparation
- 📊 Architecture Overview - Visual system documentation
- 🏠 Home Lab Guide - Complete project overview
- 📋 File Structure - Project organization guide
- 🔒 Security Policy - Security guidelines and reporting
- ⚙️ Makefile - Automation commands and shortcuts
CRITICAL: This project uses
gameapp.gamesas an example domain. For your own deployment:
- Get a domain (free options available for learning)
- Replace all instances of
gameapp.gameswith your domain- Configure Cloudflare DNS for your domain
- Update ingress configurations accordingly
- RAM: 4GB+ available for Kubernetes cluster
- Storage: 10GB+ free disk space
- OS: macOS, Linux, or Windows with WSL2
- Network: Stable internet for image downloads
# Essential tools (install via prerequisite guide)
docker --version # Container runtime
kubectl version # Kubernetes CLI
k3d version # Local Kubernetes cluster
helm version # Package manager
node --version # JavaScript runtime
jq --version # JSON processor# Deploy full stack
make deploy-all
# Deploy individual components
make deploy-app # Application only
make deploy-monitoring # Prometheus + Grafana
make deploy-gitops # ArgoCD setup
# Health checks
make verify-all
make test-endpoints# Application health
kubectl get pods -n humor-game
kubectl logs -l app=backend -n humor-game --tail=50
# Monitoring access
kubectl port-forward svc/grafana -n monitoring 3000:3000
kubectl port-forward svc/prometheus -n monitoring 9090:9090
# GitOps management
kubectl port-forward svc/argocd-server -n argocd 8090:443# Clean individual components
make clean-app
make clean-monitoring
make clean-gitops
# Nuclear option - remove everything
make clean-all
k3d cluster delete dev-cluster- 🐛 Bug Reports: GitHub Issues
- 💬 Questions: GitHub Discussions
- 📖 Documentation: Troubleshooting Guide
- 🎓 Learning: FAQ Section
- Pods stuck in pending: Check resource availability with
kubectl describe - Services not accessible: Verify ingress configuration and DNS
- ArgoCD redirect loops: See troubleshooting guide
- Monitoring data missing: Check Prometheus targets and service discovery
- Start with the prerequisite guide - don't skip tool installation
- Use
make verifyfrequently to catch issues early - Check logs with
kubectl logswhen things go wrong - Join our community discussions for peer support
We welcome contributions! Here's how you can help:
- 🐛 Report bugs or suggest improvements
- 📝 Improve documentation and fix typos
- 🎓 Share your learning experience and tips
- 🔧 Add new features or troubleshooting guides
- ⭐ Star the repository to show support
📋 See: GitHub Issues for bug reports and feature requests
This project is licensed under the MIT License. See the project repository for license details.
Special thanks to the open-source community and the maintainers of:
- Kubernetes and k3d for container orchestration
- Prometheus and Grafana for observability
- ArgoCD for GitOps automation
- Cloudflare for global CDN and security
- NGINX for ingress and load balancing
📊 Learning Impact: 1000+ developers trained • 50+ companies using in production • 95% positive feedback
Built with ❤️ by the DevOps community. Start your journey to production-ready Kubernetes deployments today!
By the end, you'll have:
- ✅ 4 pods running in humor-game namespace
- ✅ Monitoring stack with Prometheus and Grafana
- ✅ GitOps automation with ArgoCD
- ✅ Production security with network policies
- ✅ Global access via Cloudflare CDN
This guide teaches the same infrastructure patterns used by companies like Netflix, Airbnb, and GitHub. Start with 01-prereqs.md to begin your journey!
-
✅ Stuck? Open the DevOps-Troubleshooting-Toolkit: https://github.com/Osomudeya/DevOps-Troubleshooting-Toolkit.git
- Linux • Docker • Kubernetes • AWS • Azure • Observability
-
🚶 If you're early in your journey: Start/continue the core path
→ Beginner-DevOps-Labs (Milestones 0 → 6) This repo Link: https://github.com/Osomudeya/DevOps-Home-Lab-2025.git -
🧰 Want small, visual wins:
→ Quick DevOps Wins (this repo) -
📦 Ready for portfolio depth:
→ Weekend-DevOps-Projects (5 focused, resume-grade builds) Link: https://github.com/Osomudeya/side-devops-projects.git



