🎉 The largest-ever code cleanup in the Kubernetes project’s history was the removal of 1 million(!) lines of code thanks to the PR merged a week ago. But what exactly happened and why? 🤔
- Many things were born as a part of the Kubernetes code base and later moved out of it. CSI plugins for storage are a well-known example. This transition is made to keep the main code base — the K8s core — smaller and easier to maintain while the project develops and gets more features.
- The same is true for the features specific to various cloud providers in Kubernetes, initially implemented as an in-tree code.
- This record-setting PR was related to GCP specifically. Removing the relevant code made the Kubernetes core smaller by the impressive 1,071,842 lines. PR was part of a longstanding KEP-2395 originating in 2019.
- This change does NOT mean the GCP (or any other providers’) features are no longer supported in Kubernetes. You just need the optional (i.e. out-of-tree) controllers to get the same functionality in your clusters.
Switching Kubernetes to out-of-tree cloud providers has been an enormous effort, and it’s fantastic to see this mission accomplished!
More details:
- PR #124519.
- KEP-2395 “Removing In-Tree Cloud Provider Code”.
- An announcement blog post — “The Future of Cloud Providers in Kubernetes” (published in 2019).
- The “Kubernetes Is FINALLY Removing in-Tree Cloud Providers” talk at KubeCon 2024 Europe.
#news
Post #19
388

- 🔥 5
- 👍 2