Latest / The Cloud Business Podcast with Fexingo: AWS, Azure, GCP, and Enterprise Infrastructure / How Cloud Contracts Now Charge for Kubernetes Control Plane CPU
Transcript
- Lucas: So if you are running Kubernetes in production on any of the big three clouds, there is a good chance your control plane just got more expensive. And I mean measurably more expensive, not just a rounding error. Luna: Control plane meaning the master node — the brains of the cluster that schedules pods, manages the API server, etc. Lucas: Exactly. Historically, every hyperscaler included the control plane for free. You paid for worker nodes, for storage, for networking, but the control plane was bundled. That has changed across AWS, Azure, and GCP over the past eighteen months. And the pricing models are not identical, but the trend is clear: they are metering CPU usage on the control plane. Luna: Right, I remember when AWS first announced EKS pricing back in 2020 — it was a flat $0.10 per hour per cluster. That was it, regardless of how much you used the API server. Lucas: And now that flat fee is gone for new clusters — at least in some regions. AWS started testing per cpu second billing for the EKS control plane late last year. Azure followed with a similar model for AKS, and GCP introduced a tiered pricing structure for GKE based on the number of nodes managed. The common thread is that they want to capture value from clusters that generate a lot of API traffic or manage large fleets. Luna: Do you have a concrete example of the impact? I remember reading about a fintech company that migrated a large workload and saw an 18 percent increase in their monthly cloud bill just from control plane charges. Lucas: Yeah, that case is instructive. The company runs a real-time payment processing platform on EKS. They have about 2,000 nodes across multiple regions, and each cluster has hundreds of namespaces, frequent deployments, and heavy use of custom controllers. Under the old pricing, their control plane cost was essentially zero beyond the hourly cluster fee. Under the new per cpu second model, they were billed for every millisecond the control plane CPU spent processing API requests. Their monthly bill went from roughly $300,000 to $354,000 — a jump of 18 percent, exactly as you said. Luna: And that was after they optimized? Or was that the initial hit? Lucas: That was after some optimization. The initial estimate was a 30 percent increase, but they cut it down by consolidating clusters and reducing unnecessary API calls. The point is, this is not a trivial cost for anyone running Kubernetes at scale. It changes the economics of cluster design. Luna: So what is driving this shift? Is it really about cost recovery or is this a new profit center? Lucas: I think it's a bit of both. On one hand, the control plane is not free to run — it uses compute, storage, and networking. For small clusters, the cost is negligible, but when you have tens of thousands of clusters across a region, the aggregate infrastructure cost is real. On the other hand, the hyperscalers are under pressure to grow revenue, and metering services that were previously free is an easy lever. It also aligns incentives: customers who use the control plane heavily — like the fintech example — will now optimize their usage, which reduces load on the provider's infrastructure. Luna: Interesting. But from the customer's perspective, how do you protect yourself? Are there contract clauses that cap these charges? Lucas: That is the key question. In my conversations with procurement teams, the best practices are emerging. First, negotiate a cap on control plane CPU charges as a percentage of total compute spend — say, no more than 2 percent. Some large enterprises have gotten that into their enterprise agreements. Second, ask for a 12-month grace period before new pricing takes effect on renewal. Third, get visibility into the metering data: the hyperscalers provide detailed logs of API server CPU usage, but you have to know where to look. Fourth, consider running multi-tenant clusters to amortize control plane costs across more workloads. Luna: And on the technical side, reducing API call volume is obviously a priority. Things like using informers instead of polling, batching updates, avoiding unnecessary list calls. Lucas: Exactly. There are also tools like the Kubernetes API Priority and Fairness feature that can help shape traffic. And some teams are moving to serverless Kubernetes options like AWS Fargate for EKS, but that shifts the cost to worker node pricing, so it doesn't eliminate control plane charges entirely. Luna: Let's talk about the differences between the providers. AWS is metering CPU seconds on the API server. Azure is doing something similar but also charges for the etcd storage. GCP's model is based on the number of nodes in the cluster, with a free tier up to a certain size. Lucas: Right. GCP's GKE pricing is still the most generous for small clusters — the control plane is free for clusters with up to 50 nodes. Beyond that, there is a sliding scale. AWS and Azure have no such free tier for control plane CPU. Azure also has a separate charge for control plane storage, which can add up for clusters with many secrets or config maps. AWS charges by the CPU second, which means that even a small cluster with heavy API usage can incur significant costs. Luna: So the takeaway for listeners is: if you are signing a new cloud contract in 2026, do not assume the control plane is free. Get specific language in the agreement. Lucas: Absolutely. And if you are in the middle of a contract, you may still be on the old pricing until renewal. But the hyperscalers have been adding these charges to new clusters first, so existing clusters might be grandfathered. Check your bill carefully. Look for line items like 'EKS Control Plane CPU' or 'AKS Control Plane Compute.' Luna: I want to circle back to the fintech case. Did they end up migrating to a different provider or did they renegotiate? Lucas: They renegotiated with AWS. They were able to get a three-year commitment in exchange for a 15 percent discount on control plane charges and a cap of 1.5 percent of total compute spend. They also moved some stateless workloads to EKS on Fargate, which reduced the number of clusters and lowered API traffic. The net result was that their overall bill increased by only 4 percent instead of 18 percent. But it required a dedicated effort from their FinOps team over several months. Luna: That sounds like a lot of work. But it's the new reality. Kubernetes is not just a free orchestration layer anymore. Lucas: No, it's not. And I think this is part of a broader trend of hyperscalers monetizing every layer of the stack. We've seen it with data egress, with API calls, with GPU idle time — and now with control plane CPU. The lesson is: assume everything is metered unless your contract explicitly says otherwise. Luna: Before we wrap, I want to mention something that might be useful to listeners. If today's episode helped clarify how these charges work, and you appreciate that this podcast stays ad-free, you can support us with a small donation. It's a simple way to keep these deep dives coming without sponsorship interruptions. Just go to buy me a coffee dot com slash fexingo. Lucas: Yeah, that really does help us keep the show independent. And we genuinely appreciate that. So, back to Kubernetes — one more thing I want to flag: watch for these control plane pricing changes to propagate to managed Kubernetes services for edge and IoT, like AWS EKS Anywhere or Azure Stack HCI. The same logic applies. Luna: Good point. So whether you're in the cloud or on-prem with a managed service, the control plane is no longer free. Plan accordingly. Lucas: Exactly. Next episode, we'll look at how cloud providers are starting to charge for service mesh control planes — same story, different layer. Luna: Sounds like a trend. Thanks, Lucas. Lucas: Thanks, Luna. See you next time.