DevOps Tutorials
Step-by-step walkthroughs with live environments — read, run, learn.
All Tutorials
LINUX TUTORIALWhere did my disk space go? (df vs du, finding the culprit)
The disk on this server is full and the app is failing with "No space left on device." We'll find what's eating the space and reclaim it live, without a reboot.
Open tutorial
LINUX TUTORIALMounts and /etc/fstab explained
An app on this VM is down. Its data folder `/srv/appdata` is not a mounted volume. There is a fresh 2 GB disk attached that was never set up. You'll format it, mount it, and write it into `/etc/fstab` so the mount comes back on every reboot.
Open tutorial
KUBERNETES TUTORIALWhat Kubernetes is, why orchestration, and your first look at a cluster
You're connected to a real 3-node cluster that's already running a small app. We won't deploy anything today. We'll learn what a cluster is made of, read its state with `kubectl`, and watch Kubernetes heal itself.
Open tutorial
KUBERNETES TUTORIALCluster anatomy: control plane, nodes & kubectl essentials
Cluster anatomy: control plane, nodes & kubectl essentials
Open tutorial
KUBERNETES TUTORIALKubernetes: Deploy your first app (Deployment + pods)
You'll write a minimal Deployment, `kubectl apply` it, watch three pods schedule and become Ready, then open your app in the browser.*
Open tutorial
LINUX TUTORIALLVM end to end (and growing a volume)
You're setting up storage for an app's data at `/data`. You'll build it with LVM, fill it up, then grow it by adding a second disk, all while it stays mounted. No downtime.
Open tutorial
ARGOCD TUTORIALWhat is ArgoCD, why GitOps, installation and first look
Learn ArgoCD and GitOps basics, then install ArgoCD and take a first look at its dashboard for deploying applications from Git.
Open tutorial
LINUX TUTORIALInodes, links, and disk space
What a file really is, and how that explains two common disk problems: a deleted file that won't free its space, and "No space left" when there's still room.
Open tutorial
LINUX TUTORIALWhat's eating my CPU and memory?
How we find the process using too much CPU or memory: read `%CPU` for the CPU one and `RES` for the memory one, using `top`, `ps`, and `htop`.
Open tutorial
LINUX TUTORIALUnderstanding load average (and when it's actually bad)
What the three load numbers mean, why load is not CPU percent, and how we tell when a high number is a real problem. We generate CPU load and disk load and watch them move differently.
Open tutorial
LINUX TUTORIALSignals and killing processes properly
What `kill` really does (it sends a signal), the difference between asking a process to stop (SIGTERM) and forcing it (SIGKILL), and why `-9` is a last resort. We practise on a well-behaved process and a stubborn one.
Open tutorial
LINUX TUTORIALThe OOM killer: why the kernel kills your process
Why Linux runs out of memory and kills a process, how it picks which one (oom_score), how to trigger an OOM kill safely, and how to read it in the kernel log.
Open tutorial