External DNS on Debian 13
by pcloudhosting
Version 0.18.0+ Free Support on Debian 13
ExternalDNS is an open-source command-line tool designed to automatically manage DNS records across cloud DNS providers based on the state of Kubernetes resources like Services and Ingresses. It ensures that your DNS records are always in sync with your dynamic infrastructure, eliminating the need for manual updates and reducing errors in large, cloud-native environments.
Features of ExternalDNS:
- Automates DNS record management for multiple cloud providers, including AWS Route53, Cloudflare, Google Cloud DNS, and more.
- Monitors Kubernetes resources (Services, Ingresses, Hostnames) to automatically create, update, or delete DNS records.
- Supports ownership tracking using TXT records to avoid conflicts between multiple instances of ExternalDNS.
- Can run as a standalone CLI, containerized Docker image, or as a Kubernetes Deployment.
- Highly flexible for dynamic and microservices-based environments.
Common ExternalDNS Commands:
# Check version $ docker run --rm registry.k8s.io/external-dns/external-dns:v0.18.0 --version # Run ExternalDNS for AWS Route53 $ docker run --rm -e AWS_ACCESS_KEY_ID=YOUR_KEY -e AWS_SECRET_ACCESS_KEY=YOUR_SECRET \ registry.k8s.io/external-dns/external-dns:v0.18.0 \ --provider=aws --registry=txt --domain-filter=example.com --txt-owner-id=myhost
To manage ExternalDNS in Kubernetes:
$ helm repo add external-dns https://kubernetes-sigs.github.io/external-dns/
$ helm repo update
Access ExternalDNS Information:
- Version:
docker run --rm registry.k8s.io/external-dns/external-dns:v0.18.0 --version - Current DNS Provider:
--provider flag - Domains Managed:
--domain-filter flag
Disclaimer: ExternalDNS is an open-source tool distributed under the Apache License 2.0. ExternalDNS is developed and maintained by the Kubernetes SIGs community and is provided "as is" without warranties of any kind. Users are responsible for ensuring proper configuration and compliance with their cloud DNS provider terms and applicable laws when deploying ExternalDNS.