Kubernetes 1.14: Windows Containers GA and kubectl Updates

Table of Contents
Introduction
On March 25, 2019, the Kubernetes project released version 1.14 — one of the most anticipated releases, marking the General Availability (GA) of Windows containers and kubectl, along with several enhancements for custom resources and deployment workflows.
Official Highlights
1. Windows Containers Reach GA
After years of development and testing, Windows containers became officially supported for production environments.
This milestone allowed hybrid clusters — mixing Windows and Linux nodes under the same control plane — enabling enterprises to modernize .NET applications within Kubernetes.
Key updates:
- Full integration of kubelet, kube-proxy, and Container Networking Interface (CNI) for Windows, with validated datapaths from projects such as Flannel and Calico;
- Feature parity with Linux Pods for core scheduling, services, and networking, including support for LoadBalancer Services and DNS;
- Operational guidance for mixed OS clusters, covering taints, node selectors, and dedicated upgrade workflows.
2. kubectl GA — the Official Kubernetes CLI
The release promoted kubectl — the Kubernetes command-line tool — to General Availability, solidifying its API stability and workflow guarantees.
It included usability improvements such as manifest diffing, kustomize integration, and polished plugin discovery, ensuring a consistent management experience across Kubernetes versions.
3. NodeLocal DNSCache (Beta)
Kubernetes 1.14 introduced NodeLocal DNSCache as a beta feature, deploying per-node CoreDNS pods that reduce latency and improve cache hit rates for DNS lookups.
Benefits include:
- Local caching to shield the cluster DNS service from high QPS workloads;
- Support for headless Services and stub domains without additional configuration;
- Clear upgrade and rollback paths via kube-proxy and CoreDNS DaemonSets.
4. Custom Resource Definition Enhancements
Custom Resource Definitions (CRDs) continued to mature with new features such as:
- OpenAPI validation schemas;
- Defaulting and pruning;
- Better subresource handling and status management.
These changes established CRDs as a robust foundation for Kubernetes Operators and custom APIs.
5. Production and Tooling Improvements
The 1.14 release cycle introduced refinements for cluster operations and day-2 management:
- Upgrades to kubeadm for Windows support and HA clusters;
- CoreDNS updates with performance tuning;
- More reliable VolumeSnapshot and CSI extensions (Alpha/Beta).
Operators also gained guidance on orchestrating in-place upgrades across Linux and Windows pools with kubeadm and cloud-provider tooling.
Operational Considerations
- Plan taints and scheduling constraints to ensure Linux control-plane workloads do not land on Windows nodes.
- Validate CNI compatibility for Windows pools; the release shipped reference manifests for Flannel host-gw/VXLAN and emerging Calico support.
- Update CI pipelines to adopt the stabilized kubectl surface so that plugin authors can depend on consistent behavior across clusters.
Milestones Timeline
| Date | Event |
|---|---|
| March 25 2019 | Kubernetes 1.14 official release; Windows containers reach GA |
| April 2019 | Cloud providers (GKE, AKS, EKS) begin rolling out Windows support |
| Mid-2019 | Enterprise adoption of hybrid Windows/Linux clusters accelerates |
Patch Releases for 1.14
Patch releases (1.14.x) focused on bug fixes, stability updates and provider integration.
| Patch Version | Release Date | Notes |
|---|---|---|
| 1.14.0 | 2019-03-25 | Initial 1.14 release |
| 1.14.1+ | various dates | Maintenance and compatibility patches |
Legacy and Impact
Kubernetes 1.14 was a landmark release for enterprise adoption.
Windows container support opened Kubernetes to a broader application ecosystem, kubectl GA locked in tooling stability, and CRD advancements empowered Operator authors to rely on versioned schemas.
Production teams began piloting hybrid clusters that ran IIS-based APIs next to Linux microservices, validating multi-OS scheduling in real-world rollouts.
Summary
| Aspect | Description |
|---|---|
| Release Date | March 25, 2019 |
| Key Innovations | Windows containers GA, kubectl GA, NodeLocal DNSCache beta, CRD & kubeadm enhancements |
| Significance | First GA support for Windows nodes and cross-platform production clusters |
Next in the Series
Next up: Kubernetes 1.15 (June 2019) — we’ll explore stabilization of custom resources, CSI maturity, and more refinements in cluster lifecycle tools.