CoreDNS 1.6: Smarter DNS for Kubernetes

CoreDNS 1.6: Smarter DNS for Kubernetes

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, and template plugins graduate with guardrails for complex DNS topologies.
  • Plugin Stability: Deprecated plugins removed, reducing upgrade surprises and image size.

Operational Excellence

  1. Autoscaler Guidance: Updated HPA examples right-size CoreDNS based on QPS and latency.
  2. Kubernetes Plugin: Faster negative caching and stub-domain handling, especially for split-horizon setups.
  3. Logging Enhancements: Structured logging integrates cleanly with Fluentd and Loki pipelines.

Implementation Tips

  • Validate performance with kubectl run dnsutils --image=tutum/dnsutils and measure lookup times.
  • Pair with Prometheus 2.12 to visualize latency percentiles and DNS failure rates.
  • Use template plugin 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

AspectDetails
Release DateJuly 15, 2019
Headline FeaturesPrefetch cache, richer metrics, policy plugins
Why it MattersReinforces 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.