Skip to content

tomjosetj31/learn-kubernetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Learn Kubernetes - 14-Day Guide πŸš€

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                                  β”‚
β”‚                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“š Course Structure

Week 1: Foundations

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

Week 2: Advanced Topics

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

πŸ“‹ Quick Reference

Resource Description
kubectl Cheat Sheet Complete command reference for daily use

🎯 Learning Objectives

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

πŸ›  Prerequisites

Before starting, you should have:

  • Basic understanding of containers (Docker)
  • Command line experience
  • A local Kubernetes cluster (see setup below)

Setting Up a Local Cluster

# 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

πŸ“– How to Use This Guide

For Self-Paced Learning

  1. Follow in order - Each day builds on previous concepts
  2. Read the theory - Understand the "why" before the "how"
  3. Type the examples - Don't just copy-paste, type them out
  4. Experiment - Modify examples and see what happens
  5. Use the commands - Practice kubectl commands regularly

Daily Study Plan

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    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                                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‹ Quick Reference

Essential Commands

# 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'

Resource Shortcuts

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

πŸ”— Additional Resources

Official Documentation

Interactive Learning

Certification


πŸ“ Repository Structure

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

πŸš€ Getting Started

Ready to begin? Start with Day 1: Introduction to Kubernetes!


πŸ“ Notes

  • 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!

About

πŸ“š A comprehensive 14-day Kubernetes learning guide. From zero to hero with hands-on examples, diagrams, and best practices.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors