Kubernetes 1.13: kubeadm GA, CSI GA & CoreDNS Default

Table of Contents
Introduction
On December 3 2018, Kubernetes version 1.13 was officially released.
This release continues the focus on stability and extensibility of Kubernetes with three major features graduating to general availability in the areas of cluster lifecycle, storage and DNS.
Official Highlights
1. kubeadm Reaches GA
The Kubernetes 1.13 release brings the installation & cluster-lifecycle tool kubeadm to General Availability. This milestone means production-ready cluster bootstrapping, joining, and upgrades via kubeadm are fully supported.
2. Container Storage Interface (CSI) Goes GA
With 1.13, the Container Storage Interface (CSI) becomes generally available, enabling third-party storage drivers to integrate via a standardized interface outside the core Kubernetes code.
3. CoreDNS Becomes Default DNS
The DNS add-on plugin CoreDNS replaces kube-dns as the default DNS server in Kubernetes, delivering a lighter, extensible DNS solution written in Go and aligning with cloud-native expectations.
4. Admission Webhooks & Dry-Run APIs (GA)
- Mutating and Validating Admission Webhooks graduate to GA, enabling policy engines such as OPA Gatekeeper to run in production with official support.
- API server dry-run now allows safe change previews without mutating live resources—perfect for CI testing of manifests.
5. kubectl Plugin System & CLI Polish
kubectl krewecosystem benefits from the new plugin mechanism, letting operators extend kubectl with custom commands in their$PATH.kubectl diffgraduates from alpha, providing first-class drift detection before apply.
6. Windows & Node Enhancements
- Windows node support improves with stable CNI integrations, CSI mounting, and Hybrid Overlay fixes.
- Device Plugin API refinements and
TopologyManageralpha prepare clusters for NUMA-aware scheduling with GPUs and FPGAs.
Field Notes & Best Practices
- kubeadm GA: store
ClusterConfigurationmanifests in Git and usekubeadm upgrade plan && kubeadm upgrade applyto sequence rolling upgrades. - CoreDNS migration: update stubDomains, upstreams, and custom rewrite rules; test with
kubectl execDNS queries before decommissioning kube-dns. - CSI GA: verify driver sidecars meet the minimum required versions (e.g., external-provisioner v1.0+) and enable CSIDriver/CSINodeInfo for topology-aware scheduling.
Upgrade Checklist
- Take an etcd snapshot (
ETCDCTL_API=3 etcdctl snapshot save). - Run
kubeadm upgrade planto confirm target versions and kubelet requirements. - Upgrade control-plane nodes sequentially using kubeadm, then update kubelets and kubectl on workers.
- Apply CoreDNS ConfigMap changes and validate service discovery.
- Roll out CSI driver upgrades, ensuring PodSecurityPolicies or admission webhooks allow required hostPath mounts.
Milestones Timeline
| Date | Event |
|---|---|
| Dec 3 2018 | Kubernetes 1.13 released. |
| Late 2018 | kubeadm GA, CSI GA and CoreDNS default roll-out begins. |
| Early 2019 | Production clusters adopt the new defaults and APIs. |
Patch Releases for 1.13
Patch releases in the 1.13 branch (1.13.x) include security fixes, compatibility patches and performance improvements.
| Patch Version | Release Date | Notes |
|---|---|---|
| 1.13.0 | 2018-12-03 | Initial 1.13 release |
| 1.13.1+ | various dates | Maintenance, bug-fix updates |
Legacy and Impact
Kubernetes 1.13 represents a key turning point: by graduating kubeadm, CSI and CoreDNS to GA, the project moved further into production-grade maturity.
These advancements improved cluster lifecycle management, storage extensibility and DNS robustness — all crucial for enterprises running large-scale, heterogeneous, multi-cloud Kubernetes deployments. Admission webhooks and dry-run APIs delivered policy and testing assurances that platform teams had been requesting for years.
Summary
| Aspect | Description |
|---|---|
| Release Date | December 3, 2018 |
| Key Innovations | kubeadm GA, CSI GA, CoreDNS default, admission webhooks GA, kubectl plugins |
| Significance | Marked strengthened stability, policy control and operational automation in Kubernetes |
Deprecations & Gotchas
kubectl rungenerators have been deprecated in favor of declarative manifests; migrate scripts tokubectl apply.- Remove use of the deprecated
--insecure-portand--insecure-bind-addressAPI server flags—kubeadm now enforces secure endpoints. - CoreDNS requires slightly different stub domain syntax than kube-dns; ensure custom domains are ported before cutting over.
Next in the Series
Up next: Kubernetes 1.14 (March 2019) — we’ll cover enhanced workload APIs, improved Windows container support and further Kubernetes governance refinements.