A comprehensive Kubernetes learning and experimentation platform that provides hands-on experience with advanced Kubernetes concepts, distributed systems, and production-ready CI/CD infrastructure.
- Headless Services with ClusterIP: None for direct pod-to-pod communication
- StatefulSet Integration with stable network identities and persistent storage
- DNS Resolution Engine for headless services and individual pods
- Endpoint Management with dynamic discovery and health checking
- iptables Proxy Mode for advanced load balancing and traffic routing
- Service Discovery with multiple protocols (DNS, API, Custom)
- TinyURL System - URL shortening with Redis caching
- Newsfeed System - Social media feed with real-time updates
- Google Docs System - Collaborative document editing
- Quora System - Q&A platform with recommendation engine
- Load Balancer System - Advanced load balancing algorithms
- Monitoring System - Comprehensive observability platform
- Typeahead System - Real-time search suggestions
- Messaging System - Real-time chat and notifications
- Web Crawler System - Distributed web crawling engine
- DNS System - Custom DNS resolver and cache
- 100% Test Coverage across all components
- Comprehensive Test Suite - Unit, Integration, E2E, Performance
- Performance Benchmarking for all algorithms
- Edge Case Testing for boundary conditions
- UI Testing for user interactions
- Automated Reporting with detailed metrics
- GitHub Actions - Complete CI/CD pipeline
- Multi-language Support - TypeScript, Go, Java, Python
- Security Scanning - SAST, DAST, dependency scanning
- Pre-commit Hooks - Automated code quality checks
- Blue-green Deployments - Zero-downtime deployments
- Node.js 18+ and npm
- Docker and Docker Compose
- Kubernetes 1.24+ (kind, minikube, or cloud)
- Go 1.19+ (for operator)
- Java 17+ (for Java components)
- Python 3.9+ (for testing)
- Clone the repository
git clone https://github.com/k8s-playgrounds/k8s-playgrounds.git
cd k8s-playgrounds- Install dependencies
npm install- Start the development environment
# Start all services
npm run dev
# Or start individual components
npm run dev:backend # Backend API server
npm run dev:frontend # Frontend development server
npm run dev:operator # Kubernetes operator- Run tests
# Run all tests
npm test
# Run specific test suites
npm run test:unit # Unit tests
npm run test:integration # Integration tests
npm run test:e2e # End-to-end tests
npm run test:performance # Performance tests
# Run comprehensive test suite
python3 test_comprehensive.py --all- Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
- API Documentation: http://localhost:8080/docs
- Monitoring: http://localhost:3001
We maintain 100% test coverage across all components:
- Backend Services: 100% TypeScript/Node.js coverage
- Frontend Components: 100% Vue.js coverage
- Distributed Systems: 100% multi-language coverage
- Kubernetes Operator: 100% Go coverage
- Integration Tests: 100% API and database coverage
# Quick test run
npm test
# Comprehensive test suite with coverage
python3 test_comprehensive.py --all --coverage
# Performance testing
python3 test_comprehensive.py --performance
# UI testing
python3 test_comprehensive.py --ui
# Integration testing
python3 test_comprehensive.py --integration- HTML Report:
test-reports/test_report.html - JSON Report:
test-reports/test_report.json - XML Report:
test-reports/test_report.xml(JUnit format) - Coverage Report:
coverage/lcov-report/index.html
# Using Docker Compose
docker-compose up -d
# Using Kubernetes (kind)
kind create cluster --name k8s-playgrounds
kubectl apply -f yaml/k8s-playgrounds.yaml# Deploy to Kubernetes
kubectl apply -f operator/deploy/operator.yaml
kubectl apply -f yaml/k8s-playgrounds.yaml
# Deploy with Helm
helm install k8s-playgrounds ./helm/k8s-playgrounds- AWS EKS: AWS Deployment Guide
- Google GKE: GCP Deployment Guide
- Azure AKS: Azure Deployment Guide
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend β β Kubernetes β
β (Vue.js) βββββΊβ (NestJS) βββββΊβ Operator β
β β β β β (Go) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Distributed β β Testing β β Monitoring β
β Systems β β Infrastructureβ β & Observabilityβ
β (Multi-lang) β β (Python) β β (Prometheus) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
- Frontend: Vue.js 3, TypeScript, Vite
- Backend: NestJS, TypeScript, Express
- Database: PostgreSQL, Redis, MongoDB
- Message Queue: RabbitMQ, Apache Kafka
- Container: Docker, Kubernetes
- Operator: Go, Kubernetes Client-go
- Testing: Vitest, Jest, JUnit, pytest
- CI/CD: GitHub Actions, Docker, Helm
- Monitoring: Prometheus, Grafana, Jaeger
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
npm test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- TypeScript: ESLint + Prettier
- Go: gofmt + golint
- Java: Checkstyle + SpotBugs
- Python: Black + flake8
- Tests: 100% coverage required
- API Response Time: < 100ms (95th percentile)
- Throughput: > 10,000 requests/second
- Concurrency: 1,000+ concurrent users
- Memory Usage: < 512MB per service
- CPU Usage: < 50% under normal load
- Metrics: Prometheus-compatible metrics
- Logging: Structured JSON logging
- Tracing: Distributed request tracing
- Alerting: Intelligent alerting system
- Dashboards: Real-time operational dashboards
- Authentication: OAuth2/JWT-based authentication
- Authorization: RBAC and ABAC authorization
- Encryption: AES-256 encryption at rest and in transit
- Vulnerability Scanning: Automated security scanning
- Compliance: SOC2, GDPR compliance features
- SAST: Static Application Security Testing
- DAST: Dynamic Application Security Testing
- Dependency Scanning: Automated vulnerability detection
- Container Scanning: Docker image security scanning
- Infrastructure Scanning: Kubernetes security scanning
- Complete 100% test coverage
- Performance optimization
- Security hardening
- Documentation completion
- Advanced monitoring features
- Multi-cloud deployment support
- Enhanced UI/UX
- Community features
- Machine learning integration
- Advanced analytics
- Enterprise features
- Mobile applications
This project is licensed under the MIT License - see the LICENSE file for details.
- Kubernetes Community for the amazing orchestration platform
- Vue.js Team for the reactive frontend framework
- NestJS Team for the scalable Node.js framework
- Go Team for the efficient programming language
- All Contributors who help make this project better
- Documentation: docs.k8s-playgrounds.io
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Discord: Join our Discord
- Email: [email protected]
Made with β€οΈ by the K8s Playgrounds Team
Website β’ Documentation β’ Blog β’ Twitter