Kubernetes 1.10: Stabilizing Storage, Scheduling & Security

Table of Contents
Introduction
On March 26 2018, Kubernetes version 1.10 was officially released.
This release focused on stability, extensibility and production readiness, especially across storage, scheduling, security and cluster operations.
Official Highlights
1. Storage Extensibility: CSI and Local Persistent Volumes
Kubernetes 1.10 moved the Container Storage Interface (CSI) to beta, enabling third-party storage providers to write plugins outside the core Kubernetes codebase.
Also, local persistent volumes (non-networked storage) reached beta, offering higher-performance storage options.
Kubernetes 1.10 ships CSI sidecars—external-attacher, external-provisioner, external-snapshotter—with improved leader election and error handling, making it easier to run storage controllers outside the core.
2. Scheduling & Node Management
- Pod Priority & Preemption entered beta, giving SRE teams finer control over workload eviction during node pressure.
- Device Plugin framework advanced to beta, solidifying GPU/FPGA lifecycle and metrics hooks for AI/ML workloads.
- Dynamic Kubelet Configuration (beta) allows live kubelet flag updates via ConfigMaps, reducing disruptive node reprovisioning.
3. Security & Networking Enhancements
- External kubectl credential providers (alpha) let cloud vendors ship secure authentication flows (e.g., AWS IAM, GCP gcloud).
- CoreDNS install-time switch became beta, easing migration from kube-dns to the Go-based, plugin-driven DNS server.
- NetworkPolicy performance improvements and Windows networking fixes polished cross-platform support.
Field Notes & Best Practices
- CSI rollout tips: deploy CSI sidecars with RBAC scoped to their CRDs, and monitor
csi_sidecars_operations_totalto catch provisioning retries early. - Local PVs: document anti-affinity rules so StatefulSets land on nodes with SSD-backed PVs; remember that
PersistentVolumeNodeAffinityenforces node pinning. - Dynamic kubelet config: store configs in Git, then apply via the
NodeConfigSourceto keep audit-friendly history.
Upgrade Watch-outs
- Enable Pod Priority gradually by defining
PriorityClassobjects and testing preemption impacts in staging. - Review CSI alpha annotations—some in-tree volume plugins began deprecation cycles, so pin driver versions and read the storage SIG notes.
- If adopting dynamic kubelet configs, ensure kubelets run with
--feature-gates=DynamicKubeletConfig=trueand that ConfigMaps stay below 10MB to avoid rejection.
Milestones Timeline
Milestones Timeline
| Date | Event |
|---|---|
| Mar 26 2018 | Kubernetes 1.10 officially released. |
| Early Apr 2018 | Cloud providers (e.g., GKE) begin rolling 1.10 support. |
| Mid-2018 | Storage providers begin building CSI-based plugins; larger production uptake. |
| Mid-2018 | Platform teams test pod priority/preemption and device plugin rollouts. |
Patch Releases for 1.10
Patch releases (1.10.x) include bug-fixes, security patches, compatibility updates and further stabilisation.
| Patch Version | Release Date | Notes |
|---|---|---|
| 1.10.0 | 2018-03-26 | Initial release of 1.10 |
| 1.10.1+ | various dates | Maintenance and compatibility patches (see changelog) |
Legacy and Impact
Kubernetes 1.10 represented another major maturation milestone — its stabilization of storage, scheduling and node management features, and broadening of runtime/auth extension points, reinforced Kubernetes’ role as the go-to platform for production container orchestration. Device plugins, pod priority, and CSI collectively paved the road for AI/ML workloads and multi-tenant environments.
Deprecations & Gotchas
- Initializers were marked for removal—migrate to admission webhooks early.
- Legacy ABAC-only clusters may struggle with new credential plugins; plan RBAC adoption.
- Dynamic Kubelet Config does not cover kubelet flags set via systemd drop-ins—document your configuration sources to avoid drift.
Summary
| Aspect | Description |
|---|---|
| Release Date | March 26, 2018 |
| Key Innovations | CSI to beta, local volumes to beta, external credentials, CoreDNS switch |
| Significance | Major step in maturity for storage, security, network — production-ready |
Next in the Series
Up next: Kubernetes 1.11 (June 2018) — we’ll explore GA for CoreDNS plugin, in-cluster load balancing improvements, and further ecosystem growth.