External-DNS 0.13: DNS Automation Evolution

Table of Contents
Introduction
External-DNS 0.13, released on July 15, 2022, continues to evolve as the leading solution for automatically managing DNS records for Kubernetes services and ingresses. This release improves provider support, enhances Kubernetes integration, and delivers better reliability for DNS automation in cloud-native environments.
DNS is one of those “simple until it isn’t” dependencies—especially once you have multiple clusters, ephemeral environments, or frequent ingress changes. External-DNS is valuable precisely because it removes the manual step that’s easy to forget during an incident or a late-night rollout: keeping records in sync with what’s actually running in the cluster.
Provider Support Enhancements
- Cloud provider integrations expand support for AWS Route53, Google Cloud DNS, Azure DNS, and Cloudflare.
- DNS provider improvements enhance compatibility with additional DNS providers and services.
- Multi-provider support enables managing DNS records across multiple providers simultaneously.
- Provider-specific features leverage unique capabilities of each DNS provider.
Kubernetes Integration Improvements
- Service discovery enhancements automatically discover Kubernetes services and ingresses.
- Ingress support improvements provide better integration with Ingress and Gateway API resources.
- Annotation enhancements enable more flexible DNS record configuration.
- RBAC integration provides fine-grained access control for DNS management.
Reliability & Performance
- Reconciliation improvements ensure DNS records stay synchronized with Kubernetes resources.
- Error handling enhancements provide better recovery from transient DNS provider failures.
- Rate limiting support prevents exceeding DNS provider API rate limits.
- Caching optimizations reduce unnecessary DNS API calls.
Advanced Features
- DNS record types support expansion includes A, AAAA, CNAME, TXT, and SRV records.
- Health checks enable automatic DNS record management based on endpoint health.
- Multi-zone support enables managing DNS records across multiple DNS zones.
- Dry-run mode previews DNS changes without actually modifying records.
Getting Started
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/external-dns/v0.13.0/docs/contributing/crd-source/crd-manifest.yaml
Deploy External-DNS:
apiVersion: apps/v1
kind: Deployment
metadata:
name: external-dns
spec:
template:
spec:
containers:
- name: external-dns
image: k8s.gcr.io/external-dns/external-dns:v0.13.0
args:
- --source=service
- --source=ingress
- --domain-filter=example.com
- --provider=aws
- --aws-zone-type=public
Create a service with annotation:
apiVersion: v1
kind: Service
metadata:
name: my-service
annotations:
external-dns.alpha.kubernetes.io/hostname: my-service.example.com
spec:
type: LoadBalancer
ports:
- port: 80
Summary
| Aspect | Details |
|---|---|
| Release Date | July 15, 2022 |
| Headline Features | Enhanced provider support, improved Kubernetes integration, better reliability |
| Why it Matters | Automates DNS record management, reducing operational overhead and ensuring DNS records stay synchronized with Kubernetes resources |
External-DNS 0.13 continues to evolve as the standard solution for DNS automation in Kubernetes, providing teams with reliable, automated DNS record management.