A comprehensive, beginner-friendly Kubernetes learning path. Each day covers a specific topic with detailed explanations, diagrams, examples, and hands-on exercises.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββ βββ ββββββ ββββββββ β
β βββ ββββββββββββββββββββ β
β βββββββ ββββββββββββββββ β
β βββββββ ββββββββββββββββ β
β βββ βββββββββββββββββββ β
β βββ βββ ββββββ ββββββββ β
β β
β Kubernetes Learning Path β
β From Zero to Hero in 14 Days β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Day | Topic | Description |
|---|---|---|
| Day 1 | Introduction to Kubernetes | What is K8s, why use it, key concepts and advantages |
| Day 2 | Kubernetes Architecture | Control plane, worker nodes, components deep dive |
| Day 3 | Pods, ReplicaSets, Deployments | Core workload resources with examples |
| Day 4 | Services | ClusterIP, NodePort, LoadBalancer, service discovery |
| Day 5 | Ingress | HTTP routing, TLS, ingress controllers |
| Day 6 | ConfigMaps & Secrets | Configuration and secret management |
| Day 7 | Volumes & Storage | Persistent storage, PV, PVC, StorageClasses |
| Day | Topic | Description |
|---|---|---|
| Day 8 | Namespaces & Resources | Resource quotas, limit ranges, QoS |
| Day 9 | Jobs & CronJobs | Batch processing and scheduled tasks |
| Day 10 | StatefulSets & DaemonSets | Stateful apps and node-level daemons |
| Day 11 | RBAC & Security | Authorization, security contexts, network policies |
| Day 12 | Helm | Package management for Kubernetes |
| Day 13 | Monitoring & Logging | Prometheus, Grafana, logging best practices |
| Day 14 | Troubleshooting | Common issues and debugging techniques |
| Resource | Description |
|---|---|
| kubectl Cheat Sheet | Complete command reference for daily use |
By the end of this course, you will be able to:
- β Understand Kubernetes architecture and components
- β Deploy and manage containerized applications
- β Configure networking with Services and Ingress
- β Manage configuration and secrets securely
- β Implement persistent storage solutions
- β Set up resource quotas and limits
- β Run batch jobs and scheduled tasks
- β Deploy stateful applications
- β Implement RBAC and security best practices
- β Use Helm for package management
- β Set up monitoring and logging
- β Troubleshoot common issues
Before starting, you should have:
- Basic understanding of containers (Docker)
- Command line experience
- A local Kubernetes cluster (see setup below)
# Option 1: Minikube
brew install minikube # macOS
minikube start
# Option 2: Docker Desktop
# Enable Kubernetes in Docker Desktop settings
# Option 3: Kind (Kubernetes in Docker)
brew install kind
kind create cluster
# Verify installation
kubectl cluster-info
kubectl get nodes- Follow in order - Each day builds on previous concepts
- Read the theory - Understand the "why" before the "how"
- Type the examples - Don't just copy-paste, type them out
- Experiment - Modify examples and see what happens
- Use the commands - Practice kubectl commands regularly
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β RECOMMENDED DAILY SCHEDULE β
β β
β π 30 min - Read the day's content β
β π» 30 min - Follow along with examples β
β π§ͺ 30 min - Experiment and practice β
β π 15 min - Review and take notes β
β β
β Total: ~2 hours per day β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Cluster Info
kubectl cluster-info
kubectl get nodes
# Workloads
kubectl get pods [-n namespace]
kubectl get deployments
kubectl describe pod <pod-name>
kubectl logs <pod-name>
# Services
kubectl get services
kubectl get endpoints
# Configuration
kubectl get configmaps
kubectl get secrets
# Debugging
kubectl exec -it <pod> -- /bin/sh
kubectl port-forward <pod> 8080:80
kubectl get events --sort-by='.lastTimestamp'| Full Name | Short |
|---|---|
| pods | po |
| services | svc |
| deployments | deploy |
| replicasets | rs |
| configmaps | cm |
| namespaces | ns |
| persistentvolumeclaims | pvc |
| persistentvolumes | pv |
| statefulsets | sts |
| daemonsets | ds |
| ingresses | ing |
learn-kubernetes/
βββ README.md # This file
βββ cheatsheet.md # kubectl Quick Reference
βββ day-1/README.md # Introduction to Kubernetes
βββ day-2/README.md # Architecture
βββ day-3/README.md # Pods, ReplicaSets, Deployments
βββ day-4/README.md # Services
βββ day-5/README.md # Ingress
βββ day-6/README.md # ConfigMaps & Secrets
βββ day-7/README.md # Volumes & Storage
βββ day-8/README.md # Namespaces & Resources
βββ day-9/README.md # Jobs & CronJobs
βββ day-10/README.md # StatefulSets & DaemonSets
βββ day-11/README.md # RBAC & Security
βββ day-12/README.md # Helm
βββ day-13/README.md # Monitoring & Logging
βββ day-14/README.md # Troubleshooting
Ready to begin? Start with Day 1: Introduction to Kubernetes!
- All YAML examples are ready to use - just
kubectl apply -f - Each day includes practical examples and best practices
- Diagrams use ASCII art for universal compatibility
- Commands are tested on Kubernetes 1.28+
Happy Learning! π
If you find this helpful, consider starring the repo!