Skip to main content

Recently Updated Pages

Lesson: Status, Add, Commit, Log

Module 4 — Git & Version Control

What you'll learn The everyday loop every developer repeats dozens of times a day: edit → status...

Updated 2 months ago by Eslam Shapsough

Lesson: Git's Mental Model

Module 4 — Git & Version Control

What you'll learn Why version control exists and what problems it solves on a real team. The fou...

Updated 2 months ago by Eslam Shapsough

Lessons on lab storage

Cluster Storage with NFS (CSI)

Pick storage per workload. Shared app data → NFS. Databases → local disk on their own VM. One si...

Updated 2 months ago by Eslam Shapsough

Proving it actually works

Cluster Storage with NFS (CSI)

Storage you haven't tested is a rumour. The check is a throwaway claim: kubectl apply -f - <<'YAM...

Updated 2 months ago by Eslam Shapsough

The CSI driver and the default StorageClass

Cluster Storage with NFS (CSI)

A bare NFS export is static — you'd have to hand-create a PersistentVolume for every claim. The C...

Updated 2 months ago by Eslam Shapsough

The NFS server

Cluster Storage with NFS (CSI)

A dedicated VM (K8s-NFS, 10.100.100.12) does one job: export a directory. K8s-NFS (10.100.100.12)...

Updated 2 months ago by Eslam Shapsough

Why NFS for cluster storage

Cluster Storage with NFS (CSI)

Pods are disposable; their data shouldn't be. Kubernetes solves that with PersistentVolumes — sto...

Updated 2 months ago by Eslam Shapsough

Assignment 2: A safe backup/parameterised script

Module 3 — Shell Scripting

Goal: Write a robust, parameterised Bash script that backs up a directory into a timestamped comp...

Updated 2 months ago by Eslam Shapsough

Assignment 1: A system health-check script

Module 3 — Shell Scripting

Goal: Write a Bash script that inspects the machine it runs on — disk usage, free memory, and whe...

Updated 2 months ago by Eslam Shapsough

Lesson: Scripts You Can Trust

Module 3 — Shell Scripting

What you'll learn How set -euo pipefail turns silent failures into loud, safe ones. The quoting ...

Updated 2 months ago by Eslam Shapsough

Lesson: Loops, Arguments & Functions

Module 3 — Shell Scripting

What you'll learn How to repeat work with for and while loops. How to read arguments passed to y...

Updated 2 months ago by Eslam Shapsough

Lesson: Conditionals & Tests

Module 3 — Shell Scripting

What you'll learn How to branch your script with if, elif, and else. How to write tests with [[ ...

Updated 2 months ago by Eslam Shapsough

Lesson: Streams, Redirection & Exit Codes

Module 3 — Shell Scripting

What you'll learn The three standard streams every program has: stdin, stdout, and stderr. How t...

Updated 2 months ago by Eslam Shapsough

Lesson: Your First Bash Scripts

Module 3 — Shell Scripting

What you'll learn What a Bash script actually is, and how the "shebang" line tells Linux how to ...

Updated 2 months ago by Eslam Shapsough

Keeping workloads off the control plane

Kubernetes Cluster (kubeadm + Calico)

By default kubeadm puts a taint on the control-plane node: node-role.kubernetes.io/control-plane:...

Updated 2 months ago by Eslam Shapsough

The network layer: Calico, installed from a manifest

Kubernetes Cluster (kubeadm + Calico)

Kubernetes deliberately ships without a network. You choose a CNI plugin and install it. I used C...

Updated 2 months ago by Eslam Shapsough

Joining the workers (and the firewall that blocked them)

Kubernetes Cluster (kubeadm + Calico)

Each worker joins with the command kubeadm init printed: kubeadm join 10.100.100.7:6443 --token <...

Updated 2 months ago by Eslam Shapsough

Bootstrapping the control plane

Kubernetes Cluster (kubeadm + Calico)

With the master node prepped, one command brings the control plane to life: kubeadm init \ --ap...

Updated 2 months ago by Eslam Shapsough

Preparing the nodes

Kubernetes Cluster (kubeadm + Calico)

Before kubeadm will touch a machine, the machine has to be ready. The same prep runs on all four ...

Updated 2 months ago by Eslam Shapsough

Why kubeadm (and not k3s or a managed service)

Kubernetes Cluster (kubeadm + Calico)

There are easier ways to get a Kubernetes cluster. k3s is a single binary. A cloud provider will ...

Updated 2 months ago by Eslam Shapsough