Kubernetes 1.5: Supporting Production Workloads

Table of Contents
Introduction
On December 12 2016, Kubernetes version 1.5 was officially released, focusing on enabling and stabilizing features necessary for production-grade workloads. Key highlights include the promotion of StatefulSet and PodDisruptionBudget to Beta, the introduction of the Container Runtime Interface (CRI), and additional usability and scale improvements.
Official Highlights
1. StatefulWorkloads: StatefulSet (Beta) & PodDisruptionBudget (Beta)
Version 1.5 elevated StatefulSet (formerly PetSet) and PodDisruptionBudget APIs to Beta. These features make it easier to run stateful applications (databases, clustered services) with persistent identities and storage, and to enforce minimum availability during cluster operations.
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: mysql
spec:
serviceName: mysql
replicas: 3
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:5.7
volumeMounts:
- name: data
mountPath: /var/lib/mysql
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 20Gi
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: mysql-pdb
spec:
minAvailable: 2
selector:
matchLabels:
app: mysql
2. Container Runtime Interface (CRI)
Kubernetes 1.5 introduced the Container Runtime Interface (CRI), an internal API that decouples the control-plane logic (kubelet) from the underlying container runtime. This enables users to choose alternate runtimes beyond Docker and enhances modularity.
- kubelet gained the
--container-runtime=remoteflag and--container-runtime-endpointoption to speak gRPC to CRI runtimes. - CRI-O (then called
ocid) and rktnetes demonstrated early integrations, proving Kubernetes could run on OCI-compliant runtimes.
3. Usability, Multi-Cluster and Windows Container Early Support
The release also delivered a variety of improvements for production readiness:
- A new command-line tool kubefed for easier multi-cluster federation.
- Multi-zone highly-available master setup scripts for kube-up.
- Early Alpha support for Windows containers on Kubernetes.
- kubeadm advanced to beta with support for
kubeadm upgradeand better token management. - Improved
Deploymentcontroller with surge management and versioned rollouts. - API Aggregation layer entered alpha, enabling extension APIs to plug into the core API server.
Milestones Timeline
| Date | Event |
|---|---|
| Dec 12 2016 | Kubernetes 1.5 officially released. |
| Late 2016 | Production adoption accelerates for stateful workloads. |
| Early 2017 | CRI adoption begins; alternate runtimes explored. |
Patch Releases for 1.5
Patch releases for the 1.5 branch (1.5.x) provided bug-fixes, performance tuning, security patches, and compatibility updates.
| Patch Version | Release Date | Notes |
|---|---|---|
| 1.5.0 | 2016-12-12 | Initial release of 1.5 |
| 1.5.1 | 2016-12-19 | Urgent fixes for kubelet, federation |
| 1.5.2 | 2017-01-31 | CRI stability, kubeadm updates |
| 1.5.3 | 2017-03-15 | Security patches and Windows improvements |
Legacy and Impact
Kubernetes 1.5 stands out as a milestone release for making Kubernetes genuinely suitable for stateful and enterprise production workloads.
With StatefulSet and PDB in Beta, CRI introduced runtime modularity, and support for multi-cluster federation and Windows containers expanded the ecosystem’s reach.
This release helped accelerate Kubernetes adoption beyond stateless microservices into real-world workloads needing high availability and persistent state.
Summary
| Aspect | Description |
|---|---|
| Release Date | December 12, 2016 |
| Key Innovations | StatefulSet & PDB (Beta), CRI, multi-cluster tool, early Windows container support |
| Significance | Strengthened Kubernetes readiness for production, stateful and enterprise use |
Next in the Series
Up next: Kubernetes 1.6 (March 2017) — we’ll explore multi-user workflows, scale enhancements, and further enterprise-grade improvements.