Kubernetes 1.9: Apps Workloads GA and Expanded Ecosystem

Kubernetes 1.9: Apps Workloads GA and Expanded Ecosystem

Introduction

On December 15, 2017, Kubernetes version 1.9 was officially released.
This release marked a key milestone as the “Apps Workloads” API reached General Availability and the ecosystem matured with expanded support for Windows containers, Docker runtime improvements, and storage interface work.


Official Highlights

1. Apps/v1 GA for Workloads

Kubernetes 1.9 moved the core workloads API (apps/v1) into General Availability, meaning Deployments, ReplicaSets, DaemonSets and StatefulSets now operated under the stable API version.

2. Expanded Windows & Docker Support

This release included broader support for Windows container workloads and deeper Docker runtime integration, reflecting the growth of hybrid and heterogeneous environments.

3. Storage and Ecosystem Maturation

Kubernetes 1.9 saw enhanced storage interface efforts (including early stages of Container Storage Interface (CSI)), improved admission-control features, and further ecosystem toolchain developments.

  • CoreDNS moved closer to becoming the default cluster DNS (beta), and Custom Metrics API advanced to beta to power autoscaling.
  • Dynamic admission webhooks and the MutatingAdmissionWebhook API reached beta, enabling richer policy enforcement.

Upgrade Checklist

  1. Update manifests to apps/v1: Deployment/StatefulSet/DaemonSet specs now require explicit .spec.selector matching .spec.template.metadata.labels. Immutable selectors mean you must recreate resources if labels drift.
  2. Cordoned, phased upgrades: Use kubeadm upgrade plan (or manual steps) to upgrade control-plane components in order, then drain nodes to roll kubelet+kubectl.
  3. Enable feature gates where needed: CSI requires --feature-gates=CSINodeInfo=true,CSIDriverRegistry=true on API server, controller-manager, and kubelet (alpha status).
  4. Validate Windows nodes: Install the Windows kubelet/KubeProxy binaries aligned with v1.9; ensure hybrid networking (OVS/Flannel) is configured before joining.
  5. Adopt CoreDNS beta: test migrating from kube-dns by deploying CoreDNS 1.0 and updating the cluster-dns kubelet flag in staging clusters.

Additional Highlights

  • CoreDNS Beta: Bundled as a beta DNS option, paving the way for its 1.13 default switch.
  • Custom Metrics API Beta: Enables HorizontalPodAutoscaler to scale from non-resource metrics via adapter APIs.
  • Dynamic Admission Webhooks: Mutating & validating admission webhooks graduated to beta, unlocking policy engines like OPA.
  • Kubectl plugins: Official kubectl plugin mechanism introduced, encouraging ecosystem tooling without alias hacks.

Milestones Timeline

DateEvent
Dec 15 2017Kubernetes 1.9 release announced.
Late 2017Apps/v1 GA becomes default in new clusters; Windows + Docker support grows.
Early 2018CSI interface builds gain traction; ecosystem contributions continue rising.

Patch Releases for 1.9

Patch releases in the 1.9 branch (1.9.x) delivered bug-fixes, stability and compatibility improvements.

Patch VersionRelease DateNotes
1.9.02017-12-15Initial 1.9 release
1.9.1+various datesSubsequent maintenance patches

Deprecations & Gotchas

  • extensions/v1beta1 Deployment/DaemonSet APIs are on the deprecation path—migrate to apps/v1 or apps/v1beta2.
  • Default StorageClass admission switched to beta; review dynamic provisioning policies to avoid unintended PVC bindings.
  • Alpha features like dynamic kubelet config remain off by default—only enable with clear rollback plans.
  • PodSecurityPolicy is still beta but required for hardened clusters; verify policies before enabling admission controllers globally.

Legacy and Impact

Kubernetes 1.9 cemented its role not just as a container orchestrator but as a stable, enterprise-grade cloud-native platform.
With workloads API stabilized, growing Windows/Docker support, and a richer ecosystem, this release helped define the base for multi-runtime, multi-platform Kubernetes clusters.


Summary

AspectDescription
Release DateDecember 15, 2017
Key InnovationsApps/v1 GA, Windows + Docker runtime support, ecosystem & storage advances
SignificanceMajor step in Kubernetes stabilisation and ecosystem growth

Next in the Series

Next up: Kubernetes 1.10 (March 2018) — where we’ll dive into storage and networking stability enhancements, broader cloud-provider integration, and the next wave of container runtime flexibility.