Kubernetes DNS you manage with kubectl.
Run authoritative DNS, a forwarding resolver and network ad blocking in your cluster. kudurru stores configuration in Kubernetes custom resources, so zones, records and policies fit the same Git review and deployment workflow as your applications.
DNS configuration as Kubernetes objects
DNSZone and DNSRecordSet define authoritative zones and records. BlockList, ClientGroup and Policy define filtering and which clients it applies to. Apply the objects with kubectl or sync them with your GitOps tool; the dashboard shows which source owns each object.
The external-dns webhook can write DNSRecordSet objects from your Kubernetes resources. That integration requires a license key. Records remain visible as typed objects instead of disappearing into a separate configuration database.
Explore the DNS custom resourcesAnswers through control plane outages
Every replica watches the resources and answers from an in-memory snapshot. The query path does not read the Kubernetes API. A running node keeps answering from its last good state when the apiserver is unavailable; configuration changes wait for it to recover.
One elected controller handles work such as zone serial updates, list fetching and NOTIFY. The Helm charts support persistent local snapshots, topology spread and monitoring. Start with one replica without a key; multiple nodes require a key, with free personal keys available for eligible use.
Read the Helm deployment guideChoose how clients reach DNS
Expose DNS using a LoadBalancer Service, MetalLB or kube-vip, or use host networking. Preserving client IP addresses matters when you apply different policies to different devices or networks.
kudurru serves the zones and networks you configure. Installing it does not automatically replace your cluster's service discovery DNS. Keep that role with your existing cluster DNS unless you deliberately design and test a forwarding arrangement.
Plan listeners and network accessCommon questions
Can I run kudurru on a single-node k3s cluster?
Yes. Use one replica with Kubernetes CRDs, or the chart's standalone mode with SQLite on a persistent volume. The Helm guide describes both shapes.
Does kudurru require a separate database in Kubernetes?
No. In Kubernetes mode, the apiserver stores configuration as custom resources. DNS answers come from memory, with local state used for snapshots and query data.