Only 54 GB Free: Reclaiming 74 GB from containerd, Podman, and Build Caches

A 200 GB disk, and df -h said only 54 GB was left — 72% used. Most days that is survivable. But this machine also runs a small Kubernetes cluster, and the moment an image pull or a build needs a few GB of scratch space, “three-quarters full” stops being a comfortable place to be. This is the write-up of two things: where the space actually went, and — the more important half — how I convinced myself that deleting it did not break anything that was running. ...

October 19, 2026 · datewu

Pod Restarted 15 Times: How a Podman Bridge Triggered a microk8s Certificate Rotation

A small app of mine had been running quietly for months. Then one day, it showed: 15 restarts. The only log it produced was two lines: 1 2 3 4 Error: timed out Caused by: timed out The strange part: every other pod in the same cluster had restarted exactly 6 times. Same node, same moment — why did only this one crash 9 extra times? The answer turned out to be two problems stacked on top of each other. One was cluster-wide: all pods were being killed together. The other was app-level: only my app turned a brief dependency hiccup into a crash loop. ...

September 28, 2026 · datewu

My WireGuard VPN Headache

Why GitHub Hated My MTU (And How I Fixed It) Let me tell you about the frustrating day I spent wrestling with my WireGuard VPN and why GitHub decided to be the only site that wouldn’t play nice. I’m hoping my experience, especially if you’re running WireGuard in a microk8s environment like I was, can save you some headaches. The Setup: microk8s, Ubuntu, and WireGuard My setup was a bit complex. I had a microk8s cluster running on an Ubuntu 24.04.2 LTS server node (GNU/Linux 6.8.0-54-generic x86_64). I was running my WireGuard VPN server as a pod within this microk8s cluster. This added a layer of network complexity that I didn’t initially account for. ...

March 4, 2025 · datewu