CoreDNS is a DNS server. It is written in Go. It can be used in a multitude of environments because of its flexibility. CoreDNS is licensed under the Apache License Version 2, and completely open source.
Development takes place on Github. Most devs hang out on Slack on the #coredns channel. This chart bootstraps a CoreDNS deployment on a Kubernetes cluster using the Helm package manager. This chart will provide DNS Services and can be deployed in multiple configurations to support various scenarios listed below:
CoreDNS chains plugins. Each plugin performs a DNS function, such as Kubernetes service discovery, Prometheus metrics or rewriting queries. And many more.
CoreDNS can listen for DNS request coming in over UDP/TCP (go’old DNS), TLS (RFC 7858) and gRPC (not a standard).
Currently CoreDNS is able to:
If you find a security vulnerability or any security-related issues, please DO NOT file a public issue, instead send your report privately to firstname.lastname@example.org. Security reports are greatly appreciated and we will publicly thank you for it.
The chart will automatically determine which protocols to listen on based on the protocols you define in your zones. This means that you could potentially use both “TCP” and “UDP” on a single port. Some cloud environments like “GCE” or “Azure container service” cannot create external load balancers with both “TCP” and “UDP” protocols. So When deploying CoreDNS with serviceType=”LoadBalancer” on such cloud environments, make sure you do not attempt to use both protocols at the same time.
Tell us about a new Kubernetes application
Never miss a thing! Sign up for our newsletter to stay updated.
Discover and learn about everything Kubernetes