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
  1. 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/Kubernetes
  2. 2015: 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/Kubernetes
  3. 2016: 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/Kubernetes
  4. 2016: 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)
  5. 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/Kubernetes
  6. 2017: 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/Kubernetes
  7. 2017: 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/Kubernetes
  8. 2017: 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/Kubernetes
  9. 2018: 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_Foundation
  10. 2018: 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/Kubernetes
  11. 2019: 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/Kubernetes
  12. 2019: 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)
  13. 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/Kubernetes
  14. 2021: 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/Kubernetes
  15. 2022: 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/Kubernetes
  16. 2022: 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/Kubernetes
  17. 2023: 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/Kubernetes
  18. 2024: 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/Kubernetes
  19. 2025: 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