Need advice about which tool to choose?Ask the StackShare community!

CoreDNS

53
67
+ 1
5
SkyDNS

8
22
+ 1
2
Add tool

CoreDNS vs SkyDNS: What are the differences?

Introduction:

In this document, we will explore the key differences between CoreDNS and SkyDNS. Both CoreDNS and SkyDNS are DNS servers that provide DNS resolution within Kubernetes clusters. However, there are several distinct differences between the two. Let's dive into the details.

  1. Architecture and Implementation: CoreDNS is a pluggable DNS server that uses plugins to customize its behavior, making it highly flexible and extensible. It allows easy integration of external data sources, such as databases or APIs. On the other hand, SkyDNS is a full-featured DNS server that is specifically designed for Kubernetes. It relies on etcd, a distributed key-value store, to store the DNS information for the cluster.

  2. Scalability and Performance: CoreDNS is built with performance and scalability in mind. It is highly optimized to handle large-scale deployments and can process a high volume of DNS queries efficiently. SkyDNS, on the other hand, has some scalability limitations due to its reliance on etcd for storing the DNS information. As the cluster size increases, it may put more load on the etcd cluster and impact the overall performance.

  3. Configuration and Flexibility: CoreDNS offers a wide range of configuration options through its plugins. Administrators can easily customize the DNS behavior by enabling or disabling plugins and configuring their settings. SkyDNS, on the other hand, has limited configuration options compared to CoreDNS. It follows a more opinionated approach with minimal configuration needed, which can be beneficial for simpler deployments but may limit flexibility in complex scenarios.

  4. Community and Support: CoreDNS has a larger and more active community compared to SkyDNS. It is an official Cloud Native Computing Foundation (CNCF) project and is widely adopted within the Kubernetes ecosystem. This leads to better community support, frequent updates, and a larger pool of resources and documentation available. SkyDNS, on the other hand, has a smaller community and may not have the same level of support and resources as CoreDNS.

  5. Compatibility and Integration: CoreDNS is designed to be a drop-in replacement for existing DNS servers in Kubernetes, making it highly compatible with existing setups. It seamlessly integrates with Kubernetes and can be easily configured to replace the default DNS resolver. SkyDNS, on the other hand, is specifically built for Kubernetes and tightly integrated with the platform. While it may offer better compatibility within the Kubernetes ecosystem, it may not be as easily portable to other environments.

  6. Adoption and Maturity: CoreDNS has gained significant traction in the industry and is widely recognized as the recommended DNS server for Kubernetes. It is considered more mature and stable compared to SkyDNS, which has a smaller user base and may be perceived as less battle-tested. This higher adoption rate and maturity level of CoreDNS make it a safer choice for production deployments.

In summary, CoreDNS offers greater flexibility, scalability, community support, and compatibility, making it the preferred choice for most Kubernetes deployments. SkyDNS, on the other hand, focuses on simplicity, easy integration with Kubernetes, but may have limitations in terms of scalability and advanced configuration.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of CoreDNS
Pros of SkyDNS
  • 3
    Kubernetes Integration
  • 2
    Open Soure
  • 2
    Srv discovery for etcd

Sign up to add or upvote prosMake informed product decisions

What is CoreDNS?

CoreDNS is a DNS server. It is written in Go. It can be used in a multitude of environments because of its flexibility

What is SkyDNS?

SkyDNS is a distributed service for announcement and discovery of services. It leverages Raft for high-availability and consensus, and utilizes DNS queries to discover available services. This is done by leveraging SRV records in DNS, with special meaning given to subdomains, priorities and weights (more info here: http://blog.gopheracademy.com/skydns).

Need advice about which tool to choose?Ask the StackShare community!

What companies use CoreDNS?
What companies use SkyDNS?
See which teams inside your own company are using CoreDNS or SkyDNS.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with CoreDNS?
What tools integrate with SkyDNS?
    No integrations found
    What are some alternatives to CoreDNS and SkyDNS?
    Consul
    Consul is a tool for service discovery and configuration. Consul is distributed, highly available, and extremely scalable.
    PowerDNS
    It features a large number of different backends ranging from simple BIND style zonefiles to relational databases and load balancing/failover algorithms. A DNS recursor is provided as a separate program.
    BIND9
    It is a versatile name server software. It has evolved to be a very flexible, full-featured DNS system. Whatever your application is, it probably has the required features.
    Istio
    Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc.
    Traefik
    A modern HTTP reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components and configures itself automatically and dynamically.
    See all alternatives