Running in production · Independent · 22 Oct 2026

kubernetes-sigs/external-dns

Configure external DNS servers dynamically from Kubernetes resources

← Running in production
ExternalDNS: Kubernetes DNS sync. Updates public domain records from cluster resources.

In simple English

When you run websites inside Kubernetes (a system for running computer programs across multiple servers), you need a way to connect your domain name to them. Doing this by hand takes hours and breaks whenever your server address changes. This tool watches your Kubernetes cluster and updates your DNS provider (the company where you bought your web address) automatically. It works with major cloud providers and many smaller DNS systems. You run it as a background worker inside your cluster.

What it is

ExternalDNS reads Kubernetes resources like services and ingresses, then talks to external DNS APIs to create or update matching records. It supports dozens of providers through built-in code and a webhook system for third-party additions.

What it is good for

Solo builders and operators who run their own Kubernetes clusters and want web addresses to update themselves whenever they deploy a new app or change a load balancer IP.

Stars9.1k
LicenceApache-2.0
Latestv0.23.0 (2026-09-18)checked 22 Oct 2026
Last code change2026-10-22
Written inGo
Setup effort
3 / 5
Payoff
4 / 5
Good
  • Updates external DNS records automatically when your Kubernetes setup changes.
  • Supports a wide range of cloud and self-hosted DNS providers.
  • Safe dry-run mode lets you preview all changes before they touch your live domain.
Watch for
  • Requires an existing Kubernetes cluster and working knowledge of DNS settings.
  • Misconfiguration can overwrite or delete existing domain records.
  • Many individual providers now rely on community webhooks rather than built-in support.
Replaces

Manual creation and updating of DNS records every time a Kubernetes service changes.

Works well with

cert-manager

Similar repositories
  • cert-manager/cert-manager14k stars

    Automates SSL certificate issuance in Kubernetes clusters, working alongside DNS configuration tools.

Also reviewed on Repo Radar
  • slok/sloth2.6k stars

    Generates Prometheus alerting and recording rules from a short specification of a service level objective.

  • nicolargo/glances34k stars

    A live view of one computer's health, in a terminal, in a browser, or through an AI assistant.

  • dokku/dokku32k stars

    A small platform you install on one server, which builds and runs an app every time you push code to it.

Install
kubectl run nginx --image=nginx --port=80
kubectl expose pod nginx --port=80 --target-port=80 --type=LoadBalancer
kubectl annotate service nginx "external-dns.kubernetes.io/hostname=nginx.example.org."
Screenshots and video

Independent: reviewed for Repo Radar outside the daily editions. Every independent repository

On Stack Radar: Infrastructure & Security › Hosting & Deployment › Domains & DNS.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.