New Posts

How to Configure Applications for High Availability in Kubernetes

How to Configure Applications for High Availability in Kubernetes

Pods are ephemeral. Stay available with graceful SIGTERM handling, health probes, PodDisruptionBudgets, anti-affinity, autoscaling, and monitoring.

A Brilliant Hack: Why does Layer 2/3 Checksum use 1’s Complement, Not 2’s

A Brilliant Hack: Why does Layer 2/3 Checksum use 1’s Complement, Not 2’s

One's complement sums are endianness-independent, so routers verify checksums without ntohs and htons swaps; receivers simply check for all ones.

Service API Changes: Prefer Blue-green Update to Rolling Update

Service API Changes: Prefer Blue-green Update to Rolling Update

Kubernetes rolling updates mix old and new servers, so API changes must be forward compatible too. Blue-green updates need only backward compatibility.

CD Tricks for Kubernetes Deployment + ConfigMap

CD Tricks for Kubernetes Deployment + ConfigMap

Two kubectl tricks: update a ConfigMap from file via dry-run piped to apply, and use a CONFIG_HASH env var so config edits trigger a zero-downtime rollout.

JWT + Third-party Oauth in Single Page App

JWT + Third-party Oauth in Single Page App

Returning a JWT to a single page app after OAuth login: why session cookies and URL params fall short, and a tiny HTML page that saves it to localStorage.

Docker Multi-stage Build: Fast, Minimal and Secure Images

Docker Multi-stage Build: Fast, Minimal and Secure Images

Docker multi-stage builds run independent stages in parallel, shrink images without chaining RUN commands, and keep private-repo SSH keys out of the image.