Timeline of Kubernetes
Kubernetes from its 2014 release to a shared platform for container orchestration, following governance, extensibility, storage, security, runtime changes, and native sidecars in 2025.
- Category
- Engineering & Technology
- Tag
- computing
- Events
- 19 events 2014 – 2025
- Generated
- by gpt-6
2014: Google releases Kubernetes as open source
Google published Kubernetes, drawing on experience with its internal cluster-management systems. The project organized containerized workloads around declarative configuration, scheduling, and controllers that reconciled actual state with the desired state.
https://en.wikipedia.org/wiki/Kubernetes2015: Kubernetes 1.0 arrives as a foundation is announced
Kubernetes 1.0 was released in July as the Cloud Native Computing Foundation was announced. The foundation was intended to provide a neutral home for cloud infrastructure projects; Kubernetes was formally accepted in March 2016.
https://en.wikipedia.org/wiki/Kubernetes2016: Deployments manage rolling application updates
Kubernetes 1.2 promoted Deployments to beta. Controllers managed ReplicaSets and rolling updates, giving users a declarative way to change an application while maintaining a requested number of running replicas.
https://en.wikipedia.org/wiki/Kubernetes2016: Helm 2 packages Kubernetes applications
Helm 2 was released as a package manager for Kubernetes, using charts to describe related resources. Its server-side Tiller component managed releases inside the cluster, a design later changed in Helm 3.
https://en.wikipedia.org/wiki/Helm_(package_manager)2016: A runtime interface decouples container execution
Kubernetes 1.5 introduced the Container Runtime Interface. A defined boundary between the kubelet and container runtimes made it possible to support alternative runtimes without placing every integration directly inside Kubernetes.
https://en.wikipedia.org/wiki/Kubernetes2017: Custom resources extend the Kubernetes API
Kubernetes 1.7 introduced CustomResourceDefinitions in beta, replacing the earlier ThirdPartyResource mechanism. Developers could add their own resource types and combine them with controllers to manage applications through the Kubernetes interface.
https://en.wikipedia.org/wiki/Kubernetes2017: Role-based access control becomes stable
Kubernetes 1.8 promoted role-based access control to stable status. Administrators could describe permissions through roles and bindings, providing a structured way to limit what users and service accounts could do.
https://en.wikipedia.org/wiki/Kubernetes2017: Core workload controllers reach stable status
Kubernetes 1.9 made the apps/v1 workload interface stable for Deployments, ReplicaSets, DaemonSets, and StatefulSets. Stable interfaces reduced uncertainty for applications and tools built around these common workload patterns.
https://en.wikipedia.org/wiki/Kubernetes2018: Kubernetes becomes the first CNCF project to graduate
The Cloud Native Computing Foundation graduated Kubernetes, recognizing its governance, adoption, and project maturity under the foundation’s criteria. Graduation marked an institutional milestone rather than a new software release.
https://en.wikipedia.org/wiki/Cloud_Native_Computing_Foundation2018: The storage interface becomes stable
Kubernetes 1.13 made support for the Container Storage Interface generally available. Storage vendors could develop drivers outside the core Kubernetes release cycle, reducing the need to bundle each storage integration into the main codebase.
https://en.wikipedia.org/wiki/Kubernetes2019: Windows worker nodes become supported
Kubernetes 1.14 introduced production support for Windows worker nodes. Clusters could schedule supported Windows-container workloads as well as Linux workloads, while the control plane continued to run on Linux.
https://en.wikipedia.org/wiki/Kubernetes2019: Helm 3 removes the Tiller service
Helm 3 removed its server-side Tiller component and used Kubernetes authentication and authorization directly. Release management moved toward a client-based design, simplifying security and administration for many clusters.
https://en.wikipedia.org/wiki/Helm_(package_manager)2020: Dockershim deprecation begins a runtime transition
Kubernetes 1.20 deprecated the built-in dockershim integration. The announcement concerned the adapter used to operate Docker Engine as a runtime, rather than the ability to run container images built with Docker.
https://en.wikipedia.org/wiki/Kubernetes2021: IPv4 and IPv6 dual-stack networking becomes stable
Kubernetes 1.23 promoted dual-stack networking to stable status. Supported cluster configurations could assign both internet-protocol address families to workloads and services, helping operators transition networking without choosing only one family.
https://en.wikipedia.org/wiki/Kubernetes2022: Dockershim leaves the core distribution
Kubernetes 1.24 removed dockershim, requiring a runtime using the Container Runtime Interface or an external adapter. Images built with Docker continued to work with compatible runtimes, separating image format from runtime integration.
https://en.wikipedia.org/wiki/Kubernetes2022: Pod Security Admission replaces older policy machinery
Kubernetes 1.25 removed PodSecurityPolicy and made Pod Security Admission stable. Built-in policy levels offered a new mechanism for enforcing restrictions on pod security settings, requiring operators to plan migration from the removed feature.
https://en.wikipedia.org/wiki/Kubernetes2023: Gateway API reaches a stable release
The Kubernetes Gateway API project released version 1.0 with its core resources stable in the Standard channel. Role-oriented resources and richer routing rules supplied a successor approach to common Ingress use cases without immediately removing Ingress.
https://en.wikipedia.org/wiki/Kubernetes2024: Dynamic resource allocation moves into beta
Kubernetes 1.32 promoted an updated dynamic resource allocation design to beta. Structured resource descriptions gave workloads and drivers a more flexible way to request specialized hardware than treating every device as a simple integer count.
https://en.wikipedia.org/wiki/Kubernetes2025: Native sidecar lifecycle support becomes stable
Kubernetes 1.33 made native sidecar containers stable. Restartable initialization containers could remain active alongside an application with defined startup and shutdown behavior, reducing workarounds for supporting services such as proxies and log shippers.
https://en.wikipedia.org/wiki/Kubernetes