LearnDevOpsHands-On Labs
All Tutorials
☸️
Core Enterprise · Intermediate

Kubernetes & Cloud Orchestration

Orchestrate microservices with Pods, Deployments, Services, Ingress, ConfigMaps, Secrets, PVCs, and automated rollouts.

40 Modules & Lessons
Estimated Time: ~16 Hours

Curriculum & Notes

Click any title or "See Notes" to read concepts

1Module 1: Cluster Architecture & Setup

7 lessons
Introduction to Kubernetes

Learn what Kubernetes is and what problem it solves, how it differs from Docker and Docker Compose, the core objects to know, and whether you really need it.

Kubernetes Architecture

Understand Kubernetes architecture: API server, etcd, scheduler, controller manager, kubelet and kube-proxy, and what happens when you run kubectl apply.

Installing Kubernetes

Compare ways to install Kubernetes: kind, Minikube, Docker Desktop, k3s, kubeadm and managed clusters, and pick the right one for learning or production.

Installing Kubernetes with Minikube

Install Minikube, run minikube start, enable add-ons like ingress, reach services with minikube tunnel, and build images locally without a registry.

Installing Kubernetes with kind

Install kind and run kind create cluster to get a local Kubernetes cluster in Docker. Covers multi-node configs, pinned versions, local images, ingress and CI.

Installing kubectl

Install kubectl, stay within the supported version skew, connect to a cluster with kubeconfig, enable shell completion and add useful krew plugins.

kubectl Basics

Learn the kubectl commands you will run daily: get, apply, describe, delete, selectors, output formats, namespaces and tips to work faster with kubeconfig.

2Module 2: Pods, Workloads & Scheduling

11 lessons
kubectl get and describe

Inspect cluster resources with kubectl get and describe. Use -o wide, jsonpath and custom-columns, read events, and know when to choose get over describe.

kubectl apply and delete

Learn kubectl apply vs create vs replace, preview changes with kubectl diff, use server-side apply, delete resources safely and fix objects stuck deleting.

kubectl exec, logs, and port-forward

Debug pods with kubectl logs (including --previous), kubectl exec, port-forward and kubectl cp. Handle distroless images with kubectl debug.

kubectl contexts and namespaces

Learn how kubeconfig works, switch clusters with kubectl config use-context, set a default namespace, merge kubeconfig files and avoid the wrong cluster.

Kubernetes Pods

Learn what a Kubernetes Pod is, what its containers share, why pod IPs change, how to write one, and how to read the statuses you see when debugging.

Kubernetes Pod Manifest

Write a Kubernetes Pod manifest with confidence. Walks through apiVersion, metadata, the container spec, ports and securityContext with a full example.

Kubernetes Pod Lifecycle

Understand Kubernetes pod phases and container states, restartPolicy, termination and eviction, and why CrashLoopBackOff is a symptom rather than the cause.

Multi-container Pods

Learn when and how to run multiple containers in one Kubernetes Pod: init containers, native sidecars, shared emptyDir volumes, and when to avoid the pattern.

Kubernetes Probes

Configure Kubernetes liveness, readiness and startup probes. Learn when to use each, the HTTP, TCP and exec methods, timing fields and common failure modes.

Kubernetes Deployments

Learn how a Kubernetes Deployment manages ReplicaSets and pods, how to write one, run rolling updates and rollbacks, and when to choose a StatefulSet instead.

Creating Kubernetes Deployments

Create a Kubernetes Deployment with kubectl create deployment or a YAML manifest. Learn matchLabels, kubectl scale, inspecting objects and common errors.

3Module 3: Services & Networking

9 lessons
Kubernetes Rolling Updates

Run zero-downtime rolling updates in Kubernetes. Tune maxSurge and maxUnavailable, use readiness probes and graceful shutdown, and fix stalled rollouts.

Kubernetes Rollbacks

Roll back a bad release with kubectl rollout undo. Learn revision history, change-cause annotations, revisionHistoryLimit and what a rollback cannot fix.

Kubernetes Services

Learn how a Kubernetes Service finds pods with selectors, how port, targetPort and nodePort differ, how service DNS works, and which of the four types to pick.

Kubernetes Service: ClusterIP

Learn how a Kubernetes ClusterIP Service works: virtual IPs, service DNS names, endpoints, testing with port-forward and headless Services.

Kubernetes Service: NodePort

Learn how a Kubernetes NodePort Service works: the three ports, the 30000-32767 range, externalTrafficPolicy, why it is weak for production and debugging.

Kubernetes Service: LoadBalancer

Use a Kubernetes LoadBalancer Service, configure cloud annotations, restrict access, set externalTrafficPolicy, and fix an EXTERNAL-IP stuck on pending.

Kubernetes Ingress

Learn how a Kubernetes Ingress works with an ingress controller, write a working manifest with pathType and TLS, and debug routing problems step by step.

ConfigMaps and Secrets

Learn when to use a Kubernetes ConfigMap vs a Secret, how to consume them as env vars or files, why base64 is not encryption, and where real secrets belong.

Kubernetes ConfigMaps

Create a Kubernetes ConfigMap with kubectl or YAML, use it as env vars with envFrom or as mounted files, and find out why a ConfigMap change did not apply.

4Module 4: Storage, Config & Secrets

7 lessons
Kubernetes Secrets

Create Kubernetes Secrets, mount them as env vars or files, use imagePullSecrets and TLS secrets, and learn why base64 is not encryption.

Kubernetes Storage

Compare Kubernetes storage options from emptyDir to PersistentVolumes. Learn PVCs, ReadWriteOnce vs ReadWriteMany, reclaim policies and CSI drivers.

Persistent Volumes and PersistentVolumeClaims

Understand Kubernetes PersistentVolumes and PVCs: static vs dynamic provisioning, access modes, reclaim policies, expansion, and why a PVC stays Pending.

Kubernetes StorageClasses

Learn how a Kubernetes StorageClass enables dynamic provisioning: key fields, volumeBindingMode, allowVolumeExpansion, the default class and debugging.

Kubernetes Namespaces

Learn how Kubernetes namespaces work, which resources are namespaced, cross-namespace DNS, how to split a cluster, and fix a namespace stuck Terminating.

Kubernetes Resource Management

Learn how Kubernetes manages CPU and memory: requests vs limits, units, what happens at the limit, QoS classes, namespace controls and how to choose values.

Kubernetes Requests and Limits

Set Kubernetes CPU and memory requests and limits correctly. Learn the units, enforcement, QoS classes, OOMKilled, throttling, LimitRange and ResourceQuota.

5Module 5: Cluster Administration & Helm

6 lessons
Horizontal Pod Autoscaler

Set up the Kubernetes Horizontal Pod Autoscaler: the scaling formula, required resource requests, autoscaling/v2 YAML, behavior and fixing unknown targets.

Helm for Kubernetes

Learn what Helm is for Kubernetes: charts, releases and repositories, how helm upgrade works, where Helm falls short, and how it compares with Kustomize.

Installing and Using Helm

Install Helm, add a repository, read chart values, then run helm install, helm upgrade, helm list and helm uninstall to manage a release on Kubernetes.

Understanding Helm Charts

Learn how a Helm chart is built: directory structure, Chart.yaml, templates, built-in objects, _helpers.tpl, debugging with helm template and dependencies.

Helm Values, Upgrades, and Rollbacks

Override Helm values with values.yaml files and --set, understand precedence, upgrade safely with --atomic, use helm rollback and fix a stuck release.

Kubernetes Monitoring

Monitor Kubernetes with metrics-server, kubectl top, Prometheus and kube-state-metrics. Learn what to watch, which alerts matter, and how logs fit in.