consul VS CoreDNS

Compare consul vs CoreDNS and see what are their differences.

consul

Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. (by hashicorp)

CoreDNS

CoreDNS is a DNS server that chains plugins (by coredns)
Our great sponsors
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • SaaSHub - Software Alternatives and Reviews
consul CoreDNS
20 13
23,588 8,426
3.0% 3.0%
9.9 9.4
1 day ago 5 days ago
Go Go
Mozilla Public License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

consul

Posts with mentions or reviews of consul. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-16.
  • Designing large scale apps using micro services
    2 projects | reddit.com/r/node | 16 Nov 2021
    Check out Consul from HashiCorp. https://www.consul.io/
  • Nginx – The Architecture of Open Source Applications
    5 projects | news.ycombinator.com | 2 Nov 2021
    > As a relatively young dev, the idea of a "web server" as a standalone binary that serves your application (vs a library that you use to write your own "server") feels strange.

    In my eyes, the ideal setup is one that's layered: where you have an ingress that's basically a load balancer that also ensures that you have SSL/TLS certificates, enforces rate limits, perhaps is used for some very basic logging, or can optionally do any URL rewriting that you need. Personally, i think that Caddy (https://caddyserver.com/) is lovely for this, whereas some people prefer something like Traefik (https://traefik.io/), though the older software packages like Nginx (https://nginx.org/en/) or even Apache (https://www.apache.org/) are good too, as long as the pattern itself is in place.

    Then, you may additionally have any sorts of middleware that you need, such as a service mesh for service discovery, or providing internal SSL/TLS - personally Docker Swarm (https://docs.docker.com/engine/swarm/) overlay networks have always been enough for me in this regard, though some people enjoy other solutions, such as Hashicorp Consul (https://www.consul.io/), or maybe something intended for Kubernetes or other platforms that you already may be using, like Linkerd (https://linkerd.io/).

    Finally, you have your actual application with its server. Personally, i think that the web server should be embedded (for example, embedded Tomcat with Spring Boot) or indeed just be a library that's a part of the application executable, as long as you can update it easily enough by rebuilding the application - containers are good for this, but aren't strictly necessary, since sometimes other forms of automation and packaging are also enough.

    The reason why i believe this, is because i've seen plenty of deployments where that just isn't the case:

      - attempts to store certificates within the application, each application server having different requirements for the formats to be used, making management (and automation) of renewal a total nightmare
  • An Update on Our Outage
    3 projects | news.ycombinator.com | 31 Oct 2021
  • Programming Microservices Communication With Istio
    7 projects | dev.to | 28 Oct 2021
    Service discovery — Traditionally provided by platforms like Netflix Eureka or Consul.
  • scaling prometheus
    1 project | reddit.com/r/PrometheusMonitoring | 11 Sep 2021
    For discovery outside of Kubernetes, you can use whatever your configuration management database is to generate the discovery configs. But you might want to look at Consul. The down side to using discovery scripts is the monolithic update lag. I used to have a medium sized setup with Chef and Nagios. It took something like 5 minutes just to run one config cycle. As we transitioned to Prometheus we cut the cycle down to a couple minutes, because we had smaller targeted configs.
  • HashiCorp Consul: What's the catch?
    5 projects | reddit.com/r/devops | 4 Sep 2021
    So, my tech lead has once more had the sweet whispers of HashiCorp blaring in his ear, and to my irritation has decreed that we will be prioritizing bringing Consul into our environment despite pretty much everything else we have being in various states of rotting popsicle sticks and scotch tape.
  • An Introduction to Microservices pt. 3
    1 project | dev.to | 24 Aug 2021
  • Harbormaster: The anti-Kubernetes for your personal server
    20 projects | news.ycombinator.com | 19 Aug 2021
    > There is gap in the market between VM oriented simple deployments and kubernetes based setup.

    In my experience, there are actually two platforms that do this pretty well.

    First, there's Docker Swarm ( https://docs.docker.com/engine/swarm/ ) - it comes preinstalled with Docker, can handle either single machine deployments or clusters, even multi-master deployments. Furthermore, it just adds a few values to Docker Compose YAML format ( https://docs.docker.com/compose/compose-file/compose-file-v3... ) , so it's incredibly easy to launch containers with it. And there are lovely web interfaces, such as Portainer ( https://www.portainer.io/ ) or Swarmpit ( https://swarmpit.io/ ) for simpler management.

    Secondly, there's also Hashicorp Nomad ( https://www.nomadproject.io/ ) - it's a single executable package, which allows similar setups to Docker Swarm, integrates nicely with service meshes like Consul ( https://www.consul.io/ ), and also allows non-containerized deployments to be managed, such as Java applications and others ( https://www.nomadproject.io/docs/drivers ). The only serious downsides is having to use the HCL DSL ( https://github.com/hashicorp/hcl ) and their web UI being read only in the last versions that i checked.

    There are also some other tools, like CapRover ( https://caprover.com/ ) available, but many of those use Docker Swarm under the hood and i personally haven't used them. Of course, if you still want Kubernetes but implemented in a slightly simpler way, then there's also the Rancher K3s project ( https://k3s.io/ ) which packages the core of Kubernetes into a smaller executable and uses SQLite by default for storage, if i recall correctly. I've used it briefly and the resource usage was indeed far more reasonable than that of full Kubernetes clusters (like RKE).

  • What Is a Service Mesh, and Why Is It Essential for Your Kubernetes Deployments?
    2 projects | dev.to | 17 Aug 2021
    With multiple services running, it’s hard to discover where they’re located. The dependencies between multiple services are not always easily found, and new services may be deployed with a new dependency on an older service. Those services can be deployed anywhere in the infrastructure, so what you need is a Service Discovery service. There are plenty available, such as Netflix Eureka or HashiCorp Consul.
  • Request routing for horizontally scaled services
    6 projects | dev.to | 8 Aug 2021
    The myriad of request processing middlewares does not end here - there is also the very trendy topic of service meshes that we could cover, but I choose to leave that as an exercise to interested readers, as it is a rapidly evolving and complex space (see: Istio, linkerd, Consul, Tanzu, etc).

CoreDNS

Posts with mentions or reviews of CoreDNS. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-21.
  • How is nslookup <service_name> resolved?
    1 project | reddit.com/r/kubernetes | 28 Nov 2021
    Within a kubernetes container, the /etc/resolv.conf file is configured to point to a custom DNS server (or servers) that kubernetes manages. You can inspect this file pretty easily by execing into a pod and viewing the file. This file's contents will likely differ from the kube host's /etc/resolv.conf file, or any other computer you manage. Kubernete's managed dns server is configured to resolve dns queries against the service and/or pod directories. If a query can't be matched to a record, usually the managed dns server then queries another dns server. Usually this kubernetes-managed dns server is a [coreDNS](https://coredns.io/) server configured for a kubernetes cluster specifically, but one can [use their own configuration if they desire](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/).
  • A call to the open source community for help!
    2 projects | reddit.com/r/opensource | 21 Nov 2021
    Hi there! I turn to the open source community for help and advice to stop unfriendly and unprofessional behavior of the CoreDNS project member, Miek Gieben. I created a first pull request https://github.com/coredns/coredns/pull/4583 to add a new DNS-over-HTTPS plugin to the CoreDNS project. But instead of a constructive dialogue I received rude statements and demands from Miek Gieben. I answered all his questions but he closed my PR without any comments! To be more reasoned, I will point out the things that offended me: * Unfriendly speech and disrespect: https://github.com/coredns/coredns/pull/4583#issuecomment-840675501 https://github.com/coredns/coredns/pull/4583#issuecomment-840369751 * Miek Gieben rudely closed PR without any explanation or answers to the questions that were asked of him Unprofessional: * https://github.com/coredns/coredns/pull/4583#discussion_r631615525 This comment demonstrates ignorance or unwillingness to read the original RFC * https://github.com/coredns/coredns/pull/4583#issuecomment-838057443 This comment demonstrates ignorance of basic TLS fundamentals
  • k8s-the-hard-way
    11 projects | dev.to | 26 Oct 2021
    coredns v1.8.3
    11 projects | dev.to | 26 Oct 2021
    In this lab you will deploy the DNS add-on which provides DNS based service discovery, backed by CoreDNS, to applications running inside the Kubernetes cluster.
  • Who do you use for your upstream DNS provider?
    3 projects | reddit.com/r/pihole | 6 Oct 2021
    CoreDNS with Unbound
  • best setup and apps to use with pihole? ex. nextdns
    1 project | reddit.com/r/pihole | 2 Oct 2021
    CoreDNS is the answer here. Written in GO. Lots of plugins for almost any situational need. You can actually use in conjunction with unbound for recursive queries.
  • Does anyone have suggestions on Linux-based DNS management with a GUI interface? Free & Open source preferred.
    1 project | reddit.com/r/sysadmin | 17 Aug 2021
    I'm a fan of CoreDNS.
  • What are you guys using your home servers for?
    14 projects | reddit.com/r/linux | 20 Jul 2021
    DNS: CoreDNS / Unbound \ VPN: Wireguard \ Pastebin alt.: PrivateBin / Cryptpad \ Data syncing: Seafile / Syncthing \ Search without ads/tracking/etc: Whoogle \
  • Kubernetes, external-dns, Pi-hole and a custom domain
    8 projects | dev.to | 8 May 2021
    Scouting between the providers supported by external-dns there a bunch of choices that can be self-hosted, something like PowerDNS or CoreDNS, at this point I was like:
  • Modern, secure DNS cache server alternative to djbdns
    1 project | reddit.com/r/sysadmin | 27 Feb 2021
    Have you looked at CoreDNS?

What are some alternatives?

When comparing consul and CoreDNS you can also consider the following projects:

etcd - Distributed reliable key-value store for the most critical data of a distributed system

traefik - The Cloud Native Application Proxy

kubernetes - Production-Grade Container Scheduling and Management

nsupdate.info - Dynamic DNS service

minio - High Performance, Kubernetes Native Object Storage

Caddy - Fast, multi-platform web server with automatic HTTPS

Apache ZooKeeper - Apache ZooKeeper

blocky - Fast and lightweight DNS proxy as ad-blocker for local network with many features

Nomad - Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.

SPF Toolbox - SPFtoolbox is a Javascript and PHP app to look up DNS records such as SPF, MX, Whois, and more

vaultwarden - Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs

nsq - A realtime distributed messaging platform