Project reference ↗

Consul helps applications find the services they need, even when those services move between machines. Its service catalog and DNS interface provide discovery, while its optional service mesh adds identity and policy to service-to-service connections. Teams may use discovery alone or combine it with managed proxy traffic. Those are different requirements, so first identify whether your applications depend on Consul's lookup interfaces, its network controls, or both.

Deployment and operating notes

HashiCorp’s current Consul Kubernetes documentation covers its Kubernetes integration rather than the old central stable chart. A Consul deployment may provide a catalog and DNS discovery, a service mesh, or both. The historical description of a simple built-in proxy is not a reason to reuse old data-plane assumptions; check the selected release’s proxy and Kubernetes compatibility. Since Consul 1.14, Kubernetes deployments use Consul Dataplane instead of client agents; upgrading an older deployment requires the documented chart changes and client-agent removal.

Inventory datacenters, server quorum, ACL policies, gossip and TLS settings, intentions and application discovery dependencies before a change. Preserve a Consul snapshot and the credentials and certificates needed to restore it. Mesh adoption additionally requires testing proxy injection, service-to-service authorization, certificate rotation and traffic behavior when control-plane access fails. Upgrade servers, Kubernetes integration and data-plane proxies according to the version-specific sequence rather than changing every image at once. For a move to another mesh, separate applications using Consul DNS or catalog APIs from those using only proxied traffic. Retain a reversible traffic path until identity and policy behavior are demonstrated.

Historical upstream link check · 2026-10-09

The recorded upstream address responded successfully (HTTP 200) on 2026-10-09. GitHub does not mark hashicorp/consul archived or disabled; this does not establish active maintenance, support or compatibility. Link availability does not certify the historical installation instructions or current security support.

Source for this check ↗

Website availability is separate from project, chart and image support. Use the current guidance and primary sources on this page to assess the distribution.

The original record

Historical Kubedex content

Original publication: 2018-09-09T15:44:43+00:00. Preserved for context. Commands, versions, prices and results below reflect the original research.

Consul is a service mesh solution providing a full featured control plane with service discovery, configuration, and segmentation functionality. Each of these features can be used individually as needed, or they can be used together to build a full service mesh. Consul requires a data plane and supports both a proxy and native integration model. Consul ships with a simple built-in proxy so that everything works out of the box, but also supports 3rd party proxy integrations such as Envoy.

You may be interested in our service mesh comparison article.

Prerequisites Details

  • Kubernetes 1.6+
  • PV support on underlying infrastructure

The key features of Consul are:

  • Service Discovery: Clients of Consul can register a service, such as api or mysql, and other clients can use Consul to discover providers of a given service. Using either DNS or HTTP, applications can easily find the services they depend upon.
  • Health Checking: Consul clients can provide any number of health checks, either associated with a given service (“is the web server returning 200 OK”), or with the local node (“is memory utilization below 90%”). This information can be used by an operator to monitor cluster health, and it is used by the service discovery components to route traffic away from unhealthy hosts.
  • KV Store: Applications can make use of Consul’s hierarchical key/value store for any number of purposes, including dynamic configuration, feature flagging, coordination, leader election, and more. The simple HTTP API makes it easy to use.
  • Secure Service Communication: Consul can generate and distribute TLS certificates for services to establish mutual TLS connections. Intentions can be used to define which services are allowed to communicate. Service segmentation can be easily managed with intentions that can be changed in real time instead of using complex network topologies and static firewall rules.
  • Multi-Datacenter: Consul supports multiple data centers out of the box. This means users of Consul do not have to worry about building additional layers of abstraction to grow to multiple regions.
  • Consul is designed to be friendly to both the DevOps community and application developers, making it perfect for modern, elastic infrastructures.

 

Basic Architecture of Consul

Consul is a distributed, highly available system. This section will cover the basics, purposely omitting some unnecessary detail, so you can get a quick understanding of how Consul works. For more detail, please refer to the in-depth architecture overview.

Every node that provides services to Consul runs a Consul agent. Running an agent is not required for discovering other services or getting/setting key/value data. The agent is responsible for health checking the services on the node as well as the node itself.

The agents talk to one or more Consul servers. The Consul servers are where data is stored and replicated. The servers themselves elect a leader. While Consul can function with one server, 3 to 5 is recommended to avoid failure scenarios leading to data loss. A cluster of Consul servers is recommended for each datacenter.

Components of your infrastructure that need to discover other services or nodes can query any of the Consul servers or any of the Consul agents. The agents forward queries to the servers automatically.

Each datacenter runs a cluster of Consul servers. When a cross-datacenter service discovery or configuration request is made, the local Consul servers forward the request to the remote datacenter and return the result.

What is Checkpoint? / Does Consul call home?

Consul makes use of a HashiCorp service called Checkpoint which is used to check for updates and critical security bulletins. Only anonymous information, which cannot be used to identify the user or host, is sent to Checkpoint. An anonymous ID is sent which helps de-duplicate warning messages. This anonymous ID can be disabled. In fact, using the Checkpoint service is optional and can be disabled.

The post Consul appeared first on kubedex.com.

Sources & further reading

  1. Consul on Kubernetes
  2. Kubernetes upgrade and Consul Dataplane migration requirements
  3. Recovered historical source

Spotted something that needs another look?

Help improve this page →