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
LINUX TUTORIALSSH keys explained (and ditching passwords)
How key login works and why it beats passwords, then the real steps: generate a key, install the public half, log in with no password, hold the passphrase in the agent, and turn password login off.
Open tutorial
LINUX TUTORIALHardening the SSH server
Narrow what SSH accepts: no root login, a user whitelist, limited attempts, and fail2ban, then reload safely without locking yourself out.
Open tutorial
LINUX TUTORIALUsers, groups, and sudo
Create a user, see how groups bundle permissions, and grant sudo the least-privilege way: a single scoped command instead of full admin.
Open tutorial
ARGOCD TUTORIALDeploy Your First Application with ArgoCD Application Manifest
Argo CD is an application that is used to deploy things into Kubernetes and Kubernetes-compatible environments like K3s, OpenShift, and so on.
Open tutorial