Skip to content
CAMPUX Cloud Bootcamp
Field notes · Translation guide · Compute & serverless
Cloud · Compute & serverless

AKS vs EKS vs GKE

By Captain O8 min read

Of every row in the cloud translation guide, this is the one that barely lies. It's all Kubernetes — so the interesting question isn't the workload, it's the wrapper.

New to cloud? CAMPUX is a free, build-first course. Start here →

AKS, EKS, and GKE all run the same upstream Kubernetes, so your Deployments, Services, Ingress, kubectl commands, Helm charts, and YAML manifests are identical across the three — this is the one place in cloud where the workload is genuinely portable and the analogy barely leaks. What differs is the wrapper: AKS gives you a free control plane and Entra ID integration, EKS charges per cluster and asks you to wire more yourself, and GKE automates the most, up to running the nodes for you.

I've shipped production onto all three, and the first thing that surprises people crossing over is how little there is to relearn. The Kubernetes you know is the Kubernetes you get. A manifest you wrote for AKS applies cleanly on GKE; the same kubectl apply, the same Helm chart, the same rolling update. That's not marketing — it's because all three sit on the same open-source project. The differences live entirely in the ring around the cluster, and that's where this piece spends its time.

What's actually the same — and it's most of it

Start here because it reframes the whole comparison. The Kubernetes API is the contract, and all three managed services implement the same one. So everything you author as a Kubernetes object moves unchanged: pods, Deployments, StatefulSets, Services, Ingress, ConfigMaps, Secrets, RBAC objects, CRDs. Your container images are just containers — they don't care which cloud's kubelet pulls them. If you built a mental model of Kubernetes on one provider, you did not build it for that provider. You built it for all three.

That makes managed Kubernetes the cleanest mapping in the entire translation guide. Compare it to VMs, where an EC2 instance and an Azure VM differ in image formats, disk types, and metadata endpoints — there the leak is real. Here the leak is small. The workload is portable; only the operations around it are provider-flavored.

What differs: the wrapper around the control plane

Each cloud takes the same open-source Kubernetes and decides how much of the surrounding work it does for you, and what it charges. That's the whole spread between them.

AKS — Azure Kubernetes Service

The easy on-ramp if your company already lives in Microsoft. The control plane is free historically — you pay only for the worker nodes — though a paid Standard tier exists if you want a guaranteed uptime SLA. Cluster RBAC integrates with Entra ID, so the same identities that run your tenant can be granted access to the cluster, and networking runs on Azure CNI or the lighter kubenet. If you're learning Kubernetes to get hired into an Azure shop, this is the one to build on.

EKS — Elastic Kubernetes Service

The most flexible and, historically, the most assembly-required. The control plane carries a per-hour fee per cluster, and out of the box you wire up more yourself: identity through IRSA or the newer EKS Pod Identity, the VPC CNI for networking, and add-ons you choose and install. That's power if you want it and setup cost if you don't. Fargate lets you run pods serverless, with no nodes to manage, when you'd rather not think about the machines at all.

GKE — Google Kubernetes Engine

The most mature and automated of the three, which tracks — Google created Kubernetes. Standard mode gives you classic node pools with excellent defaults and autoscaling. Autopilot mode goes further and runs the nodes for you: you deploy pods, you pay per pod, and you never manage a machine or a node pool. If your priority is the least operational surface, GKE tends to hand it to you soonest.

Same Kubernetes, three wrappers — as of 2026
TraitAKSEKSGKE
Control-plane costFree (paid Standard tier for SLA)Per-hour fee per clusterFree-ish (Autopilot bills per pod)
Node managementNode poolsNode groups, or Fargate (serverless)Node pools, or Autopilot (managed)
Cluster identityEntra IDIAM via IRSA / Pod IdentityGoogle IAM + Workload Identity
NetworkingAzure CNI or kubenetVPC CNIGKE dataplane
Serverless-node optionACI virtual nodesFargateAutopilot
ReputationEasy for Microsoft shopsMost flexible, most setupMost automated
AKS, EKS, and GKE all wrap the same upstream Kubernetes API; only the control-plane cost, identity, and node management differ.The same upstream Kubernetes APIkubectl · YAML · Helm · Deployments · Services— identical on all three —this part is portableonly the wrapper changesAKSfree control planeEntra ID built ineasiest for MS shopsEKSper-cluster feemost setup (IRSA, CNI)Fargate = serverless podsGKEmost automatedAutopilot runs thenodes for you
Figure — The workload in the middle is genuinely portable: the same kubectl, YAML, Helm charts, and Kubernetes objects run on all three. Only the wrapper differs — AKS bundles a free control plane and Entra ID, EKS charges per cluster and asks you to wire more yourself, GKE Autopilot manages the nodes for you.

Your manifests move for free. So on managed Kubernetes, picking a cloud is even more about ecosystem than it is with VMs — you're choosing identity, networking, and where your team already sits.

How to actually choose

Because the workload is portable, the usual tie-breakers — "which one runs my app" — mostly cancel out. The manifest that runs on one runs on all three. So the decision leans harder on the things that don't move: which identity system your org already runs, which networking model fits your existing VPC or VNet, and which cloud your data and your team already live in. If you're an Entra ID and Azure shop, AKS removes a whole class of identity plumbing. If you want the least to operate and are on Google, Autopilot is hard to beat. If you need maximum control and don't mind the wiring, EKS gives you the most rope.

The serverless-node options blur the word "managed" further. ACI virtual nodes on AKS, Fargate on EKS, and Autopilot on GKE all let you stop thinking about machines and pay closer to per-pod. They're worth reaching for when node management is pure overhead for you — but they change the cost model and some scheduling behavior, so try them on a real workload before committing.

The leak, stated plainly

The workload doesn't leak — your Kubernetes objects are identical across AKS, EKS, and GKE, and that's the headline. The wrapper does leak: control-plane pricing, how identity binds to the cluster, the CNI and networking defaults, and how much of the node work you inherit. Don't carry a cost or an identity assumption across the equals-sign. And don't confuse "the cluster came up" with "I can run this in production." The cluster is the easy part; the operations are not.

The honest warning for beginners

Managed Kubernetes takes the control plane off your plate — the provider runs the API server, etcd, and the upgrades. What it does not take off your plate is Kubernetes itself. Standing up a cluster is a five-minute command now. Running production workloads well on it — sane resource limits, autoscaling that behaves, network policy, secrets, rollout strategy, upgrades that don't page you at 2am, observability — is still hard, and still yours. The easy cluster hides a steep operational hill behind it.

So reach for it deliberately. If a platform-as-a-service will run your container, use that first: Azure App Service, Azure Container Apps, or Cloud Run all take a container and give you far less to operate and a smaller failure surface. Kubernetes earns its complexity when you genuinely need fine-grained scheduling, many services with real networking between them, or portability across clouds. Learn containers and Docker, deploy to a managed service, and move to AKS when the workload actually demands what Kubernetes gives — not before. That's the order it makes sense in, and it's the order we teach it in from the ground up.

Common questions

Are AKS, EKS, and GKE the same Kubernetes?

Yes, in the part that matters most to your workload. All three run the same upstream Kubernetes API, so your Deployments, Services, Ingress, ConfigMaps, kubectl commands, Helm charts, and YAML manifests are identical across AKS, EKS, and GKE. This is the one area of cloud where the workload is genuinely portable and the analogy barely leaks. What differs is the wrapper around the cluster — how the control plane is priced, how nodes are managed, how identity and networking plug in — not the Kubernetes objects themselves.

Which managed Kubernetes is cheapest to run?

On the control plane specifically, AKS is historically the cheapest because the free tier charges you nothing for the control plane — you pay only for worker nodes (a paid Standard tier exists if you want a guaranteed uptime SLA). EKS charges a per-hour fee for every cluster's control plane on top of node cost. GKE runs a free-ish control plane in Standard mode, while Autopilot bills per pod instead of per node. But control-plane cost is a small line item next to the nodes and the engineering time; pick on ecosystem fit, not this number alone.

Is managed Kubernetes easier than running it myself?

Much easier for the control plane — the provider runs the API server, etcd, and upgrades so you don't. But managed Kubernetes is still Kubernetes. Standing up a cluster is now easy; running production workloads well on it — networking, autoscaling, resource limits, security, upgrades, observability — is still hard and still your job. GKE Autopilot and serverless-node options like Fargate and ACI virtual nodes shrink the node work further, but none of them make the operational discipline optional.

Should a beginner start with Kubernetes at all?

Often no. If a platform-as-a-service like Azure App Service, Azure Container Apps, or Cloud Run will run your container, reach for that first — you get less to operate and a smaller failure surface. Kubernetes earns its complexity when you need fine-grained control over scheduling, multiple services with complex networking, or portability across clouds. Learn containers and Docker first, deploy to a managed PaaS, and only move to AKS when the workload actually demands what Kubernetes gives you.

Read next
Your next class · free
You've read the idea. Class 26 — Containers & Docker is where you build it, hands-on — no account needed.Start Class 26 →
Captain O
Founder & instructor · CAMPUX Cloud Engineering Bootcamp
Filed under Compute & serverless. Next note: Azure Functions vs Lambda vs Cloud Functions →