Free Online Course · Self-paced

Kubernetes Tutorial for Beginners & Experienced

Free Kubernetes tutorial that takes you from cluster install to CKA/CKAD-level topics - pods, deployments, RBAC, networking, Helm, security, autoscaling. 59 hands-on lessons across 11 chapters, every example tested on real multi-node clusters.

  • 60 parts
  • ~760 min total
  • Beginner to Advanced
  • Updated Aug 2026
Kubernetes Tutorial for Beginners & Experienced
By Last updated

This Kubernetes tutorial takes you from Beginner to Pro with 59 hands-on lessons covering both the CKAD and CKA exam syllabi. Every chapter is written so you can run the YAML against a real cluster - either a local Minikube/kind setup or a multi-node cluster on AWS - and every command output is from a working environment.

Start with Setup Kubernetes Cluster if this is your first time — get a cluster running before pods, deployments, and networking. The left sidebar lists core Kubernetes topics for quick jumps; the full syllabus below has every lesson in chapter order. If you already know the basics, jump to any chapter; each lesson is self-contained but the order builds on the previous topic.

Click Start the course to begin with Minikube, or use the syllabus to skip directly to what you need.


How to use this course

Treat the syllabus as two parallel tracks that overlap in the middle. CKAD-focused lessons emphasize pods, deployments, ConfigMaps, secrets, and application debugging. CKA-focused lessons add cluster setup, networking, storage, RBAC, and node maintenance. You do not need to sit an exam to benefit from either track; pick the chapter that matches the task in front of you.

Run every manifest against a real cluster. A single-node Minikube lab is enough for the first half of the course. Multi-node networking, ingress, and upgrade chapters assume at least two worker nodes or a cloud lab. When a lesson references kubectl commands, use the linked reference instead of memorizing flags on day one.


Lab environment

Component Minimum Recommended for CKA chapters
Linux hosts 1 VM with 2 vCPU and 4 GB RAM 3 VMs (1 control plane, 2 workers)
Container runtime containerd or CRI-O Same, with swap disabled
kubectl Matches cluster minor version Separate admin and developer kubeconfigs
Optional Helm 3 for chart lessons Load balancer or MetalLB for ingress labs

Lessons that change node hostnames, firewall rules, or /etc/hosts call out the exact values used in captured output so you can diff your lab against the article.


Course map by topic

Area Representative lessons
Cluster lifecycle Install with kubeadm, upgrade, add/remove nodes
Workloads Deployments, StatefulSets, Jobs, CronJobs, HPA
Networking Services, Ingress, NetworkPolicy, CoreDNS
Storage PV, PVC, StorageClass, dynamic provisioning
Security RBAC, ServiceAccounts, Pod security contexts
Packaging Helm charts, hooks, template debugging
Operations OOMKilled debugging, node drains, etcd backups

After Kubernetes fundamentals, continue with Ansible for host provisioning, Terraform Associate certification course for cloud infrastructure, or the Kubernetes operator tutorial when you need controller patterns beyond plain YAML.

What you'll learn

  • Install single-node and multi-node Kubernetes clusters on Minikube, kubeadm and AWS EC2
  • Master core workload primitives - Pods, Deployments, ReplicaSets, StatefulSets, DaemonSets, Jobs
  • Configure storage, ConfigMaps, Secrets and projected volumes the right way
  • Lock down clusters with RBAC, Pod Security, Network Policies and SecurityContext
  • Package and ship apps with Helm charts, hooks and named templates
  • Operate a cluster - upgrades, autoscaling, health checks, monitoring and OOM debugging

Prerequisites

  • Comfortable with Linux command line and basic networking concepts
  • Familiarity with containers (Docker basics - run, build, image, registry)
  • A workstation that can run a multi-node cluster (8 GB RAM minimum, 16 GB recommended) or an AWS/GCP free-tier account
  • Basic YAML knowledge (you will be writing a lot of YAML)

Syllabus

11 chapters · 60 lessons · ~760 min of reading

  1. 1 Setup Kubernetes Cluster 7 lessons
    1. Part 1 Install single-node cluster with Minikube 7 min read
    2. Part 2 Install multi-node cluster with kubeadm (containerd and Calico) 25 min read
    3. Part 3 Install kubectl and configure kubeconfig on Linux 14 min read
    4. Part 4 Install multi-node cluster on Ubuntu (Calico CNI) 10 min read
    5. Part 5 Install Kubernetes cluster on AWS EC2 27 min read
    6. Part 6 Deploy an EKS cluster with Terraform 15 min read
    7. Part 7 Check the Kubernetes cluster version 11 min read
  2. 2 Core Concepts 6 lessons
    1. Part 8 Kubernetes architecture overview 14 min read
    2. Part 9 Kubernetes API resources and kubectl explain 11 min read
    3. Part 10 Kubernetes namespaces 11 min read
    4. Part 11 Labels and selectors 22 min read
    5. Part 12 Kubernetes annotations 8 min read
    6. Part 13 Labels vs annotations 6 min read
  3. 3 Workloads — Pods and Controllers 12 lessons
    1. Part 14 Kubernetes pods 15 min read
    2. Part 15 Kubernetes workload types 11 min read
    3. Part 16 ReplicaSet and ReplicationController 11 min read
    4. Part 17 Deployments and rolling updates 14 min read
    5. Part 18 Build and push container images 18 min read
    6. Part 19 Container command, args, env, and Downward API 13 min read
    7. Part 20 Kubernetes StatefulSets 12 min read
    8. Part 21 Kubernetes DaemonSets 15 min read
    9. Part 22 Autoscaling pods (HPA / VPA) 9 min read
    10. Part 23 Init containers 10 min read
    11. Part 24 Sidecar and multi-container pod pattern 11 min read
    12. Part 25 Kubernetes CronJob scheduler 10 min read
  4. 4 Resources and Scheduling 6 lessons
    1. Part 26 Pod resource requests and limits 14 min read
    2. Part 27 Monitor pod and container resource usage 11 min read
    3. Part 28 Namespace ResourceQuota 12 min read
    4. Part 29 PodDisruptionBudget 16 min read
    5. Part 30 Node affinity and anti-affinity 17 min read
    6. Part 31 Set ulimit in Kubernetes pods 17 min read
  5. 5 Storage and Volumes 2 lessons
    1. Part 32 Kubernetes volumes overview 10 min read
    2. Part 33 Persistent volumes and PVCs 14 min read
  6. 6 ConfigMaps and Secrets 6 lessons
    1. Part 34 Kubernetes ConfigMaps 12 min read
    2. Part 35 Kubernetes Secrets 10 min read
    3. Part 36 mountPath vs subPath 9 min read
    4. Part 37 Projected volumes (multiple secrets, one dir) 6 min read
    5. Part 38 Mount ConfigMap as file in existing directory 5 min read
    6. Part 39 Update ConfigMaps and Secrets without pod restart 10 min read
  7. 7 Networking and Services 5 lessons
    1. Part 40 Kubernetes networking model 11 min read
    2. Part 41 Services — ClusterIP, NodePort, LoadBalancer 15 min read
    3. Part 42 Kubernetes DNS troubleshooting (CoreDNS recovery) 17 min read
    4. Part 43 Expose services with Ingress 15 min read
    5. Part 44 kubectl port-forward 9 min read
  8. 8 Security 7 lessons
    1. Part 45 Authentication and authorization 10 min read
    2. Part 46 ServiceAccounts 10 min read
    3. Part 47 Kubernetes RBAC 9 min read
    4. Part 48 SecurityContext explained 11 min read
    5. Part 49 SecurityContext capabilities 9 min read
    6. Part 50 Create a privileged pod (and why not to) 14 min read
    7. Part 51 Pod Security Standards and admission 13 min read
  9. 9 Health Checks and Probes 1 lesson
    1. Part 52 Liveness and readiness probes 10 min read
  10. 10 Helm Charts 5 lessons
    1. Part 53 Helm charts introduction 11 min read
    2. Part 54 Helm named templates 15 min read
    3. Part 55 Helm hooks with examples 14 min read
    4. Part 56 Helm hook weight and ordering 7 min read
    5. Part 57 Fix "rendered manifests already exist" (Helm) 5 min read
  11. 11 Operations and Maintenance 3 lessons
    1. Part 58 Upgrade a Kubernetes cluster 26 min read
    2. Part 59 Add, remove, reset, and rejoin cluster nodes 15 min read
    3. Part 60 Debug OOMKilled (exit code 137) 21 min read
Deepak Prasad

R&D Engineer

Founder of GoLinuxCloud with more than 15 years of expertise in Linux, Python, Go, Laravel, DevOps, Kubernetes, Git, Shell scripting, OpenShift, AWS, Networking, and Security. With extensive experience, he excels across development, DevOps, networking, and security, delivering robust and efficient solutions for diverse projects.

  • Go (programming language)
  • Python (programming language)
  • DevOps
  • Computer Security
  • Cloud Computing
  • Kubernetes
  • Linux
  • Ansible (software)