English for HashiCorp Consul

Learn the English vocabulary for discussing service discovery, health checks, and the service mesh capabilities of HashiCorp Consul with a platform team.

Consul handles two related but distinct jobs — service discovery and, increasingly, service mesh networking — and conversations about it often blur the two together. Being able to separate them clearly in English, and to name Consul’s specific concepts precisely, makes it much easier to diagnose whether a problem is about finding a service or about the network path to it.

Key Vocabulary

Service registration — the process by which a running service tells Consul it exists, including its address, port, and any tags, so other services can discover it. “The new instance isn’t showing up in discovery because it never completed service registration — check whether the agent’s config is pointing at the right Consul cluster.”

Health check — a periodic probe Consul runs against a registered service (HTTP, TCP, or a script) to determine whether it should be considered healthy and eligible to receive traffic. “That instance is registered but marked unhealthy, so Consul is correctly routing traffic around it — the health check is failing, not the discovery.”

Service mesh — a dedicated infrastructure layer, in Consul’s case built on sidecar proxies, that handles service-to-service communication, encryption, and traffic policy without changing application code. “Once we’re on the service mesh, we get mutual TLS between every service automatically, without any of them needing to manage certificates themselves.”

Intention — a Consul Connect policy that explicitly allows or denies communication between two services in the mesh, forming the basis of its zero-trust network model. “That service can’t reach the payments API because there’s no intention allowing it — we need to add one before the mesh will permit the connection.”

Catalog — Consul’s central registry of all known services, nodes, and their health status across the cluster, which discovery queries and DNS lookups both read from. “Querying the catalog directly showed the service registered correctly, so the DNS resolution issue must be somewhere else in the client’s configuration.”

Common Phrases

  • “Is the service actually registered, or is this a health check failure?”
  • “Do we have an intention allowing this connection in the mesh, or is it being blocked by default?”
  • “Let’s check the catalog directly to rule out a discovery problem before debugging the network.”
  • “Is this handled by service discovery, or does it need the mesh’s traffic policy?”
  • “Which health check is failing — HTTP, TCP, or the custom script?”

Example Sentences

Diagnosing a routing failure: “Traffic isn’t reaching that instance because its health check has been failing for the last ten minutes — Consul is correctly avoiding it, this isn’t a discovery bug.”

Explaining a mesh restriction: “You can’t call that service yet because there’s no intention permitting it — once we add one, mutual TLS and routing will work automatically.”

Onboarding a new service: “Once your service completes registration and passes its health check, it’ll show up in the catalog and become discoverable to everything else.”

Professional Tips

  • Separate service discovery from service mesh explicitly in conversation — a routing failure could be either, and naming which one you suspect focuses the debugging.
  • Check the health check status before assuming a missing service is a registration bug — an unhealthy but registered service looks identical to a broken discovery from the client’s point of view.
  • When a mesh connection is refused, ask about intentions first — Consul Connect denies by default, so a missing intention is the most common cause of “why can’t this service reach that one.”
  • Query the catalog directly when debugging discovery issues — it tells you definitively whether the problem is registration or something downstream, like DNS or client caching.

Practice Exercise

  1. Explain, in one sentence, the difference between service discovery and a service mesh.
  2. Describe what an intention is and why a mesh connection might fail even though both services are healthy and registered.
  3. Write two sentences explaining to a teammate how you’d determine whether a “service not found” issue is a registration problem or a health check problem.