AKS vs EKS vs GKE: The Honest Differences That Matter
The managed-Kubernetes comparison tables miss the point. The Kubernetes is the same everywhere. What differs is the cloud it's wired into, and that's the actual decision.
Tactical posts on Azure, AKS, and the day-2 realities of running Kubernetes: the things worth knowing before you learn them the hard way.
13 posts
The managed-Kubernetes comparison tables miss the point. The Kubernetes is the same everywhere. What differs is the cloud it's wired into, and that's the actual decision.
You can drown a new AKS cluster in metrics on day one. Resist. Three dashboards answer the questions you'll actually have at 2 a.m. Start there, add the rest when you miss them.
Helm became the default for everything, including jobs it's bad at. For your own cluster configuration, Kustomize is often the calmer choice, and knowing when is the whole skill.
GitOps sounds like a platform project. Getting your first Flux reconciliation running on AKS is closer to a coffee break, and it changes how you think about deploys immediately.
Most AKS upgrade outages aren't upgrade bugs. They're a missing PodDisruptionBudget: five lines of YAML standing between a rolling node drain and all your replicas dying at once.
Kubernetes versions age out on a schedule, and AKS only supports a rolling window. Fall off the back of it and you're running unsupported infrastructure under production, usually discovered at the worst moment.
Teams add the cluster autoscaler hoping it fixes capacity pain. It can't, because the autoscaler trusts your resource requests, and most resource requests are fiction.
Spot nodes can cut a chunk of your AKS bill for the right workloads. The catch is in the word 'right': put the wrong thing there and you've architected a flaky outage.
A private cluster takes your API server off the public internet, a real security win that quietly breaks half your tooling. Go in knowing both halves.
`az aks get-credentials --admin` is the handiest command in AKS and the one most likely to end up in an incident report. There's a better default, and switching costs nothing.
The AKS ingress debate isn't about which is better. It's about where you want your routing logic to live: in Azure, or in your cluster.
A pod that can't curl the outside world is an AKS rite of passage. It's almost always one of three things, and none of them are the pod's fault.
Managed Kubernetes doesn't mean Azure runs your cluster. It means Azure runs the part you'd most like to ignore, and quietly hands you the rest.