Latest
More Posts
250 published posts

Java Garbage Collection in Kubernetes: Choosing and Sizing the Right Collector
The JVM picks a garbage collector from your pod's CPU and memory limits, and a small change can switch it silently. Learn how G1, ZGC, Shenandoah, Parallel, and Serial compare, and which one to run at each pod size.

Cost Problem with Overinflated Requests
JVM startup peaks push teams to set high CPU requests that last the pod's whole life. Learn how to measure the request gap and fix it safely with probes, boosts, and in-place resize.

Init Spike Handling: Right-Size JVM Pods for Boot and Run
Init Spike Handling gives JVM pods startup resources at boot, then resizes them in place for steady state. Cut boot-time waste with no restarts.

How to Fix Kubernetes Resource Policies That Optimize for the Wrong Phase
Most Kubernetes resource quota and LimitRange policies were written for steady state, so they throttle startup. Or they were written for startup, so they burn quota on idle reservations. Here's how to tell which one you have and how to fix it.

Kubecost Helm Chart: 2.x vs 3.x, Installation, and 6 Best Practices
How to install Kubecost with Helm: the cost-analyzer and kubecost charts, 2.x vs 3.x, a step-by-step install, Helm vs manifests, and six best practices.

Cluster Autoscaler Helm Chart: How to Install and Configure It
How to install and configure the Cluster Autoscaler Helm chart: how it decides to add and remove nodes, which chart to use, key values, tuning, and troubleshooting.

Kubernetes Deployment Strategy: Types and How to Choose
How Kubernetes deployment strategies work: the two built-in types, patterns that need a mesh or controller, their capacity costs, and how to match one to your workload.

Karpenter AWS: The Complete Guide to EKS Node Autoscaling
A complete guide to Karpenter on AWS: how it works with EKS, how it compares to Cluster Autoscaler, a step-by-step tutorial, and best practices.

Kubernetes DaemonSet: Tutorial, Use Cases, and Best Practices
How a Kubernetes DaemonSet runs a pod on every eligible node: a worked tutorial, common use cases, how it differs from a Deployment, and best practices for resource settings and updates.

Your JVM Service Needs 2 CPUs for 30 Seconds and 0.3 CPUs Forever
A JVM needs the most CPU in its first seconds. Learn how Kubernetes CPU limits throttle JVM startup, how to measure it, and how to size your pods.

Kubectl Cheat Sheet: Working with Clusters, Pods, Deployments & More
A ready-to-use kubectl cheat sheet covering contexts, pods, deployments, services, RBAC, logs, and debugging, plus aliases and autocompletion tips for faster Kubernetes work.