CoreDNS
CoreDNS is a configurable, plugin-based Domain Name System (DNS) server (network infrastructure) designed to provide service discovery and name resolution in cloud-native and containerized environments.
- DNS server and service discovery component for cloud-native and Kubernetes environments (network infrastructure).
- Plugin-based architecture supporting extensible DNS features such as caching, forwarding, and health checks (extensibility).
- Kubernetes cluster DNS and service discovery when deployed as the in-cluster DNS provider (container orchestration networking).
- Support for DNS protocols and record types over User Datagram Protocol (UDP), Transmission Control Protocol (TCP), and other transports as configured (network protocol support).
- Integration with CNCF ecosystems and cloud-native platforms for flexible name resolution and routing policies (cloud-native networking).
More About CoreDNS
CoreDNS is a DNS server (network infrastructure) built around a modular, plugin-based architecture to provide name resolution and service discovery for cloud-native platforms, including Kubernetes and other container orchestration environments. It is designed to be configured as a chain of plugins that process DNS queries, which allows operators to tailor DNS behavior to specific infrastructure and application requirements.
At its core, CoreDNS implements standard DNS server functionality (name resolution) and supports common DNS record types and protocols over UDP and TCP. The project exposes a configuration model in which each server block defines how queries for a given zone or domain are handled, and plugins are composed to apply functions such as caching, forwarding, load balancing, health checking, and metrics export. This architecture places CoreDNS in categories such as network infrastructure, service discovery, and observability integration.
In many Kubernetes deployments, CoreDNS operates as the cluster DNS (container orchestration networking), receiving queries from pods and resolving Kubernetes service names, pod names in certain configurations, and external domains via upstream resolvers. The Kubernetes-focused plugin stack can translate Kubernetes Application Programming Interface (API) objects into DNS records, enabling in-cluster service discovery without additional sidecars or agents. CoreDNS can also be deployed outside Kubernetes as a general-purpose DNS server to front microservices, virtual machines, or hybrid environments.
CoreDNS uses a plugin system (extensibility) in which each plugin handles a defined aspect of DNS query processing. Common plugins include caching (performance optimization), forward (upstream DNS forwarding), health (health endpoints for liveness and readiness checks), metrics (export of metrics to monitoring systems), and Kubernetes-specific plugins for service discovery. Administrators can enable or disable plugins at build or configuration time, and third-party or custom plugins can be added for environment-specific logic.
From an enterprise perspective, CoreDNS fits into network services and platform infrastructure layers. It can integrate with observability stacks through metrics exposure, with service meshes or ingress controllers through DNS-based routing, and with identity or policy systems via DNS-level controls. Its configuration language allows definition of zones, upstream resolvers, and policy-like behaviors for specific domains or query types, which supports controlled resolution paths in multi-cluster, multi-region, or hybrid scenarios.
CoreDNS is a graduated project in the Cloud Native Computing Foundation (CNCF) and is maintained as open-source software. Its role in Kubernetes cluster DNS and broader cloud-native name resolution positions it within enterprise taxonomies for DNS services, service discovery, and cloud-native networking components.