CRDs Killed the Free Kubernetes Control Plane
Today, Google announced that it is killing the free control plane for GKE clusters, except for one free zonal cluster per billing account. Let’s look at the timeline of events (source: release notes archive):
- June 2015 (k8s 0.19.3) - Kubernetes master VMs are no longer created for new clusters. They are now run as a hosted service. There is no Compute Engine instance charge for the hosted master.
- End of 2015 (k8s 1.0.x) - $0.15 per cluster per hour over 6 nodes, free for clusters 5 nodes and under
- November 2017 (k8s 1.8.x) - Eliminated control plane management fees
- Starting June 6, 2020 (k8s 1.17.x?) - $0.10 per cluster per hour, except for one free zonal cluster per billing account. Also adds SLA if using default version offered in the Stable channel
This post explores how Custom Resource Definitions (CRDs), which were introduced at v1beta1
in Kubernetes version 1.8 and v1
in 1.16 have been used & abused, and killed the free Kubernetes control plane.