This repository is a step-by-step, hands-on tutorial for learning Kubernetes through practical scenarios.
Each section focuses on a key Kubernetes concept and includes ready-to-use YAML files, clear instructions, and real-world applications.
- Minikube installed locally
- Docker installed and configured
- Basic knowledge of containerization and Linux terminal
Each directory represents a self-contained project or scenario.
| Section | Title | Description |
|---|---|---|
| 01 | Minikube Setup | Setup and verify Minikube on your local machine (Optional, if already installed) |
| 02 | Basic Deployment | Deploy a simple nginx app using Deployment and NodePort service |
| 03 | ConfigMap & Secret | Use ConfigMaps and Secrets to inject config data and secure values |
| 04 | Persistent Volume | Add persistent storage to a pod using PV and PVC |
| 05 | Ingress Controller | Route external traffic using Ingress and NGINX Controller |
| 06 | Monitoring & Logging | Setup Prometheus, Grafana, and Loki for observability |
| 07 | Helm Packaging | Deploy applications using Helm charts and package your own |
| 08 | CI/CD Integration | Automate Kubernetes deployments with GitHub Actions |
| 09 | Production Practices | Health checks, resource limits, autoscaling, and namespaces |
| 10 | Fullstack App Deployment | Deploy a complete Angular + Spring Boot + PostgreSQL stack |
You can start from any section, but it's recommended to follow the order:
cd 02-basic-deployment
kubectl apply -f nginx-deployment.yaml