10: day 2 ops
Building a cluster is the easy part. Operating one for two years without losing data is the actual job. This last post in the series covers the three things that distinguish a cluster you can rely on from a cluster…
Database consulting
Statefulops helps engineering teams design, run and scale the databases their business depends on. This is where I write about what I have learnt along the way.
Building a cluster is the easy part. Operating one for two years without losing data is the actual job. This last post in the series covers the three things that distinguish a cluster you can rely on from a cluster…
The cluster is healthy and HA, but it’s not yet useful. Stateful workloads need somewhere to put their data, and HTTP workloads need a way to be reachable. This post installs local-path-provisioner as a default…
One control plane node is enough for a working cluster. It is not enough for an HA cluster. If cp-1 goes down right now, every kubectl call hangs, no pods can be scheduled, and worker kubelets eventually start…
One control plane node, one CNI, zero workers. Time to fix the third one. By the end of this post we’ll have worker-1 and worker-2 joined, Cilium running on them, and three nodes Ready. The mechanics are simple; the…
At the end of post 5 we had a control plane running but cp-1 stuck in NotReady. That’s because kubelet refuses to be Ready until a CNI plugin has installed itself into /etc/cni/net.d/ and can hand out pod IPs. This…
This is the post where we actually get a Kubernetes API server running. After this, you’ll have a single-node control plane on cp-1 that’s already wearing its kube-vip VIP — ready for Cilium in post 6, workers in…
10 parts
The ground floor. If you're new to Kubernetes or you've been using it for a while but feel like you're cargo-culting your way through YAML, start here. We go from cluster …
Start with part 1 →8 parts
Once you've got a cluster you understand, you want deployments that don't terrify you. This series covers GitOps from first principles through to running it at scale across …
Start with part 1 →9 parts
You can't fix what you can't see. This series covers the full observability stack: metrics, logs, traces, and dashboards. By the end you'll have the foundation to actually …
Start with part 1 →10 parts
Build a highly available Kubernetes cluster by hand with kubeadm: VM prep, containerd, the control plane, Cilium, workers, kube-vip, storage and ingress, then day-2 operations.
Start with part 1 →Find out why the database is slow and fix it, from query plans and indexing to configuration and resource sizing.
An independent second opinion on schemas, data models and platform choices before they become expensive to change.
Run stateful workloads on Kubernetes with confidence, using operators, storage and backups that hold up in production.
Whether it's a slow query, an upcoming migration or a platform that needs to survive the next outage, let's talk it through.