CoreDNS 1.6: Smarter DNS for Kubernetes
K8s Guru
2 min read

Table of Contents
Introduction
CoreDNS 1.6 landed on July 15, 2019, carrying iterative upgrades that boost reliability, observability, and traffic policy for Kubernetes clusters. As the default DNS service since 1.13, these updates translate directly into day-to-day improvements for operators.
What’s New
- Cache Prefetch: Adaptive caching logic prefetches popular records to blunt thundering herds.
- Metrics Refresh: Prometheus metrics now include histogram buckets for request latency and NXDOMAIN counts.
- Policy Plugins:
rewrite,transfer, andtemplateplugins graduate with guardrails for complex DNS topologies. - Plugin Stability: Deprecated plugins removed, reducing upgrade surprises and image size.
Operational Excellence
- Autoscaler Guidance: Updated HPA examples right-size CoreDNS based on QPS and latency.
- Kubernetes Plugin: Faster negative caching and stub-domain handling, especially for split-horizon setups.
- Logging Enhancements: Structured logging integrates cleanly with Fluentd and Loki pipelines.
Implementation Tips
- Validate performance with
kubectl run dnsutils --image=tutum/dnsutilsand measure lookup times. - Pair with Prometheus 2.12 to visualize latency percentiles and DNS failure rates.
- Use
templateplugin for wildcard service discovery without external DNS servers.
Getting Started
kubectl -n kube-system set image deployment/coredns \
coredns=coredns/coredns:1.6.0
kubectl -n kube-system rollout status deployment/coredns
Back up ConfigMaps before upgrading; CoreDNS 1.6 validates configuration at startup and fails fast on syntax errors.
Summary
| Aspect | Details |
|---|---|
| Release Date | July 15, 2019 |
| Headline Features | Prefetch cache, richer metrics, policy plugins |
| Why it Matters | Reinforces Kubernetes DNS reliability while adding the tooling operators need for scale |
CoreDNS 1.6 keeps Kubernetes name resolution fast and transparent, ensuring service discovery scales with growing cluster footprints.