A hands-on workshop for developers transitioning from Docker Compose to Kubernetes. This workshop is designed for developers familiar with docker-compose.yml and Podman, providing a practical path to understanding Kubernetes fundamentals and advanced operations.
Duration: 8 hours total (two 4-hour sessions) Format: Instructor-led with hands-on labs Prerequisites: Docker Compose experience, basic terminal usage
Learn core Kubernetes concepts and resources by comparing them directly to Docker Compose equivalents. Topics include Pods, Deployments, Services, ConfigMaps, Secrets, and Storage.
Master production-ready Kubernetes skills including advanced kubectl usage, debugging, health probes, deployment strategies, Ingress, Helm, and GitOps with Flux.
compose-to-kubernetes/
├── setup/ # Workshop environment setup
│ ├── Dockerfile # Workshop container image
│ ├── kind/ # Kubernetes cluster configs
│ ├── start-workshop.sh # Linux startup script
│ └── start-workshop.ps1 # Windows startup script
├── part-1/ # Part 1: Kubernetes Fundamentals (11 sections)
├── part-2/ # Part 2: Advanced Operations (8 sections)
├── resources/ # Cheatsheets, bonus materials
├── docker-compose.yml # Alternative Docker setup
├── Makefile # Convenient make commands
├── PREREQUISITES.md # Detailed setup guide
├── CONTRIBUTING.md # Contribution guidelines
├── CODE_OF_CONDUCT.md # Community guidelines
├── SECURITY.md # Security policy
└── LICENSE # MIT License
Follow the detailed setup instructions in PREREQUISITES.md.
Prerequisites:
- Podman or Docker installed on your system
- System Requirements: 12-16 GB RAM, 20 GB disk space
- Clone the repository:
git clone https://github.com/rfaes/compose-to-kubernetes.git cd compose-to-kubernetes
Quick Start:
cd setup
./start-workshop.sh # Linux
# or
.\start-workshop.ps1 # WindowsDev Container (Recommended):
- Install VS Code + Remote-Containers extension
- Clone this repository and open in VS Code
- Click "Reopen in Container" when prompted
- All tools pre-installed and ready!
GitHub Codespaces:
- Click "Code" → "Codespaces" → "Create codespace on main"
- Work directly in your browser
See CONTRIBUTING.md for detailed setup options.
- Introduction to Kubernetes
- Environment Setup & First Steps
- Core Resources: Pods
- Deployments & ReplicaSets
- Services & Networking
- Configuration Management (ConfigMaps & Secrets)
- Storage in Kubernetes
- Namespaces & Resource Organization
- Essential kubectl & k9s Commands
- Manifests & Best Practices
- Final Lab: 3-tier application deployment
- Ingress Controllers & Advanced Routing
- Package Management with Helm
- GitOps with Flux CD
- Monitoring & Observability (Prometheus, Grafana, Loki)
- Advanced Deployment Strategies (Blue/Green, Canary)
- Autoscaling (HPA, VPA, KEDA)
- Security & RBAC
- Multi-Cluster Management
This workshop uses a progressive, hands-on approach:
- Docker Compose → Kubernetes mapping in every section
- Live demonstrations of concepts
- Hands-on labs after each major topic (~45% of workshop time)
- Real-world examples using public container images
- Comprehensive final labs to integrate all concepts
- Complete Workshop Materials: Theory, examples, and hands-on labs for all 19 sections
- Presentation Slides: Marp-based slides for Part 1 and Part 2
- Workshop Environment: Dockerfile with all tools (kubectl, kind, k9s, Helm, Flux)
- Cluster Configurations: Three kind setups (simple, multi-node, HA)
- Lab Exercises: Comprehensive labs with step-by-step solutions
- Cheatsheets: kubectl, k9s shortcuts, and compose-to-k8s mapping
- Bonus Materials: YAML basics, networking fundamentals, troubleshooting guides
- CI/CD Integration: GitHub Actions for content validation
- Make Commands: Convenient Makefile for common tasks
We welcome contributions! Please read our Contributing Guidelines before submitting:
- Report issues or suggest improvements
- Submit pull requests with fixes or enhancements
- Share feedback after completing the workshop
- Help translate materials to other languages
All contributors must follow our Code of Conduct.
If you have make installed:
make build # Build workshop container
make start # Start workshop environment
make stop # Stop workshop environment
make clean # Clean up everything
make validate # Validate all YAML files
make test # Run content validation tests
make shell # Open shell in workshop container
make cluster-simple # Create simple kind clusterPrefer Docker over Podman?
docker-compose up -d
docker exec -it k8s-workshop bashThis workshop is designed for local learning environments only.
For production use, please review our Security Policy and implement proper security hardening.
MIT License - See LICENSE for details.
This workshop is free to use, modify, and distribute.
Built with:
- kind - Kubernetes in Docker
- k9s - Kubernetes TUI
- Helm - Kubernetes package manager
- Flux - GitOps toolkit
- Marp - Markdown presentations
Ready to start? Head to PREREQUISITES.md to set up your environment!