CoreDNS 1.9: Enhanced DNS Reliability and Performance

CoreDNS 1.9: Enhanced DNS Reliability and Performance

Introduction

CoreDNS 1.9 — Enhanced DNS Reliability and Performance — was released on June 15, 2021.

Edge and east-west traffic paths tend to be where reliability and security issues show up first — so small gateway and proxy changes can have outsized impact.

In this release: CoreDNS 1.9 improves DNS reliability with enhanced caching, better error handling, and improved performance for Kubernetes service discovery.


Enhanced Caching

  • Negative caching improvements prevent repetitive lookups for non-existent services, reducing control plane load.
  • TTL handling enhancements provide more accurate cache expiration based on upstream responses.
  • Cache size optimizations improve memory efficiency while maintaining hit rates.
  • Cache warming enables pre-population of frequently accessed DNS records.

Performance Optimizations

  1. Query processing improvements reduce latency for DNS queries, especially under high load.
  2. Concurrent handling enhancements enable better throughput for parallel DNS requests.
  3. Memory usage optimizations reduce CoreDNS footprint for resource-constrained environments.
  4. Network I/O improvements reduce overhead for upstream DNS queries.

Kubernetes Integration

  • Service discovery improvements enhance automatic detection and registration of Kubernetes services.
  • Endpoint updates optimizations reduce latency when services scale or change.
  • Headless services support improvements provide better DNS resolution for stateful workloads.
  • ExternalName enhancements improve resolution of external services.

Reliability & Error Handling

  • Upstream failure handling provides better resilience when upstream DNS servers are unavailable.
  • Retry logic improvements enable automatic retry of failed queries with exponential backoff.
  • Health checks enhancements ensure CoreDNS pods are marked unhealthy only when truly unavailable.
  • Graceful degradation enables continued operation during partial failures.

Observability & Debugging

  • Logging improvements provide structured logs with better context for troubleshooting.
  • Metrics expansion exposes detailed DNS metrics for Prometheus integration.
  • Query tracing enables detailed logging of DNS query paths for debugging.
  • Health endpoints provide HTTP endpoints for monitoring CoreDNS health status.

Getting Started

kubectl set image -n kube-system deployment/coredns \
  coredns=coredns/coredns:1.9.0
kubectl rollout status -n kube-system deployment/coredns

Monitor DNS metrics:

kubectl port-forward -n kube-system svc/coredns 9153:9153
curl http://localhost:9153/metrics

Summary

AspectDetails
Release DateJune 15, 2021
Headline FeaturesEnhanced caching, performance optimizations, improved Kubernetes integration
Why it MattersEnsures reliable and fast service discovery as Kubernetes clusters scale

CoreDNS 1.9 continues to evolve as the default DNS solution for Kubernetes, providing teams with reliable service discovery that scales with their clusters.