Recently Updated Pages
Lesson: Logs, Metrics & Traces
What you'll learn Why observability matters when systems break at 3 a.m. The three pillars — log...
Assignment 2: Package your app as a chart
Goal: turn the app you deployed in Module 7 into your own reusable Helm chart — templated, linted...
Assignment 1: Install an app from a public chart
Goal: install, configure, upgrade, and roll back a real application on the lab cluster using a co...
Lesson: Writing Your First Chart
What you'll learn How to scaffold a chart with helm create and trim it down. How to template a D...
Lesson: Installing & Managing Releases
What you'll learn How to add a repository and install a public chart. The release lifecycle: ins...
Lesson: Anatomy of a Chart
What you'll learn The standard files and folders inside a Helm chart. What Chart.yaml, values.ya...
Lesson: What Helm Is and Why
What you'll learn The problem Helm solves on top of Kubernetes. What a chart, a release, and a r...
Assignment 2: A small Ansible playbook (or Terraform plan) walkthrough
Goal: Read, explain, and (for the Ansible path) dry-run a small piece of IaC so you can describe ...
Assignment 1: Write a cloud-init config for a new VM
Goal: Write a valid #cloud-config user-data file that would bootstrap a fresh Linux VM into a usa...
Lesson: When to Use Which
What you'll learn A simple decision rule for picking Terraform, Ansible, cloud-init, or Pulumi. ...
Lesson: First-Boot Bootstrap and Code-Native IaC
What you'll learn What cloud-init is and how it configures a fresh VM on its first boot. The sha...
Lesson: Configuration Management with Ansible
What you'll learn What configuration management is and how Ansible does it. Why Ansible is agent...
Lesson: Provisioning with Terraform
What you'll learn What Terraform is for: provisioning infrastructure (creating VMs, networks, DN...
Lesson: What Infrastructure as Code Means
What you'll learn The difference between configuring servers by hand and defining them in code. ...
Deploying PfSense on the Cluster
Why PfSense Is Part of This Setup The private vSwitch is a flat layer-2 network. VMs can talk to ...
Creating the Proxmox Cluster
One Flag That Makes or Breaks This Everything in this chapter is straightforward except one thing...
The mistakes (the honest part)
The lab didn't go in a straight line. The detours taught the most, so here they are, plainly: Wo...
Lessons from sizing this lab
The short version, for anyone doing the same on their own host: Find your binding constraint fir...
Making room: right-sizing live VMs
The cluster needed real memory: a control-plane node, three workers at 24 GiB each, a build runne...
The host, and the numbers
The whole lab runs on a single Proxmox host with, roughly: 64 CPU threads ~125 GiB usable RAM A ...