Kubernetes 1.10: Stabilizing Storage, Scheduling & Security

Kubernetes 1.10: Stabilizing Storage, Scheduling & Security

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_total to catch provisioning retries early.
  • Local PVs: document anti-affinity rules so StatefulSets land on nodes with SSD-backed PVs; remember that PersistentVolumeNodeAffinity enforces node pinning.
  • Dynamic kubelet config: store configs in Git, then apply via the NodeConfigSource to keep audit-friendly history.

Upgrade Watch-outs

  • Enable Pod Priority gradually by defining PriorityClass objects 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=true and that ConfigMaps stay below 10MB to avoid rejection.

Milestones Timeline


Milestones Timeline

DateEvent
Mar 26 2018Kubernetes 1.10 officially released.
Early Apr 2018Cloud providers (e.g., GKE) begin rolling 1.10 support.
Mid-2018Storage providers begin building CSI-based plugins; larger production uptake.
Mid-2018Platform 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 VersionRelease DateNotes
1.10.02018-03-26Initial release of 1.10
1.10.1+various datesMaintenance 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

AspectDescription
Release DateMarch 26, 2018
Key InnovationsCSI to beta, local volumes to beta, external credentials, CoreDNS switch
SignificanceMajor 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.