From 09d2ae9e0448c8e925f72e3da709f5e39ae6ef12 Mon Sep 17 00:00:00 2001 From: trujillo-adam Date: Mon, 26 Sep 2022 11:21:08 -0700 Subject: [PATCH 1/2] refresh of the Consul architecture overview page --- website/content/docs/architecture/index.mdx | 153 ++++++++++-------- website/public/img/consul-arch.png | Bin 115945 -> 0 bytes .../consul-arch-overview-consensus.svg | 1 + .../consul-arch-overview-control-plane.svg | 1 + .../consul-arch-overview-lan-gossip-pool.svg | 1 + ...iew-remote-dc-forwarding-cross-cluster.svg | 1 + .../consul-arch/consul-arch-overview-rpc.svg | 1 + ...arch-overview-wan-gossip-cross-cluster.svg | 1 + 8 files changed, 96 insertions(+), 63 deletions(-) delete mode 100644 website/public/img/consul-arch.png create mode 100644 website/public/img/consul-arch/consul-arch-overview-consensus.svg create mode 100644 website/public/img/consul-arch/consul-arch-overview-control-plane.svg create mode 100644 website/public/img/consul-arch/consul-arch-overview-lan-gossip-pool.svg create mode 100644 website/public/img/consul-arch/consul-arch-overview-remote-dc-forwarding-cross-cluster.svg create mode 100644 website/public/img/consul-arch/consul-arch-overview-rpc.svg create mode 100644 website/public/img/consul-arch/consul-arch-overview-wan-gossip-cross-cluster.svg diff --git a/website/content/docs/architecture/index.mdx b/website/content/docs/architecture/index.mdx index d8ad4839af..c579d8edab 100644 --- a/website/content/docs/architecture/index.mdx +++ b/website/content/docs/architecture/index.mdx @@ -5,83 +5,110 @@ description: >- Consul datacenters consist of clusters of server agents (control plane) and client agents deployed alongside service instances (dataplane). Learn how these components and their different communication methods make Consul possible. --- -# Consul Internals Overview +# Consul Architecture -Consul is a complex system that has many different moving parts. To help -users and developers of Consul form a mental model of how it works, this -page documents the system architecture. +This topic provides an overview of the Consul architecture. We recommend reviewing the Consul [glossary](/docs/install/glossary) as a companion to this topic to help you become familiar with HashiCorp terms. --> Before describing the architecture, we recommend reading the -[glossary](/docs/install/glossary) of terms to help -clarify what is being discussed. +> Refer to the [Reference Architecture tutorial](https://learn.hashicorp.com/tutorials/consul/reference-architecture) for hands-on guidance about deploying Consul in production. -The architecture concepts in this document can be used with the [Reference Architecture guide](https://learn.hashicorp.com/tutorials/consul/reference-architecture?in=consul/production-deploy#deployment-system-requirements) when deploying Consul in production. +## Introduction -## 10,000 foot view +Consul provides a control plane that enables you to register, access, and secure services deployed across your network. The _control plane_ is the part of the network infrastructure that maintains a central registry to track services and their respective IP addresses. -From a 10,000 foot altitude the architecture of Consul looks like this: +When using Consul’s service mesh capabilities, Consul dynamically configures sidecar and gateway proxies in the request path, which enables you to authorize service-to-service connections, route requests to healthy service instances, and enforce mTLS encryption without modifying your service’s code. This ensures that communication remains performant and reliable. Refer to [Service Mesh Proxy Overview](/docs/connect/proxies) for an overview of sidecar proxies. -[![Consul Architecture](/img/consul-arch.png)](/img/consul-arch.png) +![Diagram of the Consul control plane](/img/consul-arch/consul-arch-overview-control-plane.svg) -Let's break down this image and describe each piece. First of all, we can see -that there are two datacenters, labeled "one" and "two". Consul has first -class support for [multiple datacenters](https://learn.hashicorp.com/consul/security-networking/datacenters) and -expects this to be the common case. +## Datacenters -Within each datacenter, we have a mixture of clients and servers. It is expected -that there will be between three to five servers. This strikes a balance between -availability in the case of failure and performance, as consensus gets progressively -slower as more machines are added. However, there is no limit to the number of clients, -and they can easily scale into the thousands or tens of thousands. +The Consul control plane contains one or more _datacenters_. A datacenter is the smallest unit of Consul infrastructure that can perform basic Consul operations. A datacenter contains at least one [Consul server agent](#server-agents), but a real-world deployment contains three or five server agents and several [Consul client agents](#client-agents). You can create multiple datacenters and allow nodes in different datacenters to interact with each other. Refer to [Bootstrap a Datacenter](/docs/install/bootstrapping) for information about how to create a datacenter. -All the agents that are in a datacenter participate in a [gossip protocol](/docs/architecture/gossip). -This means there is a gossip pool that contains all the agents for a given datacenter. This serves -a few purposes: first, there is no need to configure clients with the addresses of servers; -discovery is done automatically. Second, the work of detecting agent failures -is not placed on the servers but is distributed. This makes failure detection much more -scalable than naive heartbeating schemes. It also provides failure detection for the nodes; if the agent is not reachable, then the node may have experienced a failure. Thirdly, it is used as a messaging layer to notify -when important events such as leader election take place. +### Clusters -The servers in each datacenter are all part of a single Raft peer set. This means that -they work together to elect a single leader, a selected server which has extra duties. The leader -is responsible for processing all queries and transactions. Transactions must also be replicated to -all peers as part of the [consensus protocol](/docs/architecture/consensus). Because of this -requirement, when a non-leader server receives an RPC request, it forwards it to the cluster leader. +A collection of Consul agents that are aware of each other is called a _cluster_. The terms _datacenter_ and _cluster_ are often used interchangeably. In some cases, however, _cluster_ refers only to Consul server agents, such as in [HCP Consul](https://cloud.hashicorp.com/consul). In other contexts, such as the [_admin partitions_](/docs/enterprise/admin-partitions) feature included with Consul Enterprise, a cluster may refer to collection of client agents. -The server agents also operate as part of a WAN gossip pool. This pool is different from the LAN pool -as it is optimized for the higher latency of the internet and is expected to contain only -other Consul server agents. The purpose of this pool is to allow datacenters to discover each -other in a low-touch manner. Bringing a new datacenter online is as easy as joining the existing -WAN gossip pool. Because the servers are all operating in this pool, it also enables cross-datacenter -requests. When a server receives a request for a different datacenter, it forwards it to a random -server in the correct datacenter. That server may then forward to the local leader. +## Agents -This results in a very low coupling between datacenters, but because of failure detection, -connection caching and multiplexing, cross-datacenter requests are relatively fast and reliable. +You can run the Consul binary to start Consul _agents_, which are daemons that implement Consul control plane functionality. You can start agents as servers or clients. Refer to [Consul Agent](/docs/agent) for additional information. -In general, data is not replicated between different Consul datacenters. When a -request is made for a resource in another datacenter, the local Consul servers forward -an RPC request to the remote Consul servers for that resource and return the results. -If the remote datacenter is not available, then those resources will also not be -available, but that won't otherwise affect the local datacenter. There are some special -situations where a limited subset of data can be replicated, such as with Consul's built-in -[ACL replication](https://learn.hashicorp.com/tutorials/consul/access-control-replication-multiple-datacenters) capability, or -external tools like [consul-replicate](https://github.com/hashicorp/consul-replicate). +### Server agents -In some places, client agents may cache data from the servers to make it -available locally for performance and reliability. Examples include Connect -certificates and intentions which allow the client agent to make local decisions -about inbound connection requests without a round trip to the servers. Some API -endpoints also support optional result caching. This helps reliability because -the local agent can continue to respond to some queries like service-discovery -or Connect authorization from cache even if the connection to the servers is -disrupted or the servers are temporarily unavailable. +Consul server agents store all state information, including service and node IP addresses, health checks, and configuration. We recommend deploying three or five servers in a cluster. The more servers you deploy, the greater the resilience and availability in the event of a failure. More servers, however, slow down [consensus](#consensus-protocol), which is a critical server function that enables Consul to efficiently and effectively process information. -## Getting in depth +#### Consensus protocol -At this point we've covered the high level architecture of Consul, but there are many -more details for each of the subsystems. The [consensus protocol](/docs/architecture/consensus) is -documented in detail as is the [gossip protocol](/docs/architecture/gossip). The [documentation](/docs/security) -for the security model and protocols used are also available. +Consul clusters elect a single server to be the _leader_ through a process called _consensus_. The leader processes all queries and transactions, which prevents conflicting updates in clusters containing multiple servers. -For other details, either consult the code, ask in IRC, or reach out to the mailing list. +Servers that are not currently acting as the cluster leader are called _followers_. Followers forward requests from client agents to the cluster leader. The leader replicates the requests to all other servers in the cluster. Replication ensures that if the leader is unavailable, other servers in the cluster can elect another leader without losing any data. + +Consul servers establish consensus using the Raft algorithm on port `8300`. Refer to [Consensus Protocol](/docs/architecture/consensus) for additional information. + +![Diagram of the Consul control plane consensus traffic](/img/consul-arch/consul-arch-overview-consensus.svg) + +### Client agents + +Consul clients report node and service health status to the Consul cluster. In a typical deployment, you must run client agents on every compute node in your datacenter. Clients use remote procedure calls (RPC) to interact with servers. By default, clients send RPC requests to the servers on port `8300`. + +There are no limits to the number of client agents or services you can use with Consul, but production deployments should distribute services across multiple Consul datacenters. Using a multi-datacenter deployment enhances infrastructure resilience and limits control plane issues. We recommend deploying a maximum of 5,000 client agents per datacenter. Some large organizations have deployed tens of thousands of client agents and hundreds of thousands of service instances across a multi-datacenter deployment. Refer to [Cross-datacenter requests](#cross-datacenter-requests) for additional information. + +## LAN gossip pool + +Client and server agents participate in a LAN gossip pool so that they can distribute and perform node [health checks](/docs/discovery/checks). Agents in the pool propagate the health check information across the cluster. Agent gossip communication occurs on port `8301` using UDP. Agent gossip falls back to TCP if UDP is not available. Refer to [Gossip Protocol](/docs/architecture/gossip) for additional information. + +The following simplified diagram shows the interactions between servers and clients. + + + + + +![Diagram of the Consul LAN gossip pool](/img/consul-arch/consul-arch-overview-lan-gossip-pool.svg) + + + + +![Diagram of RPC communication between Consul agents](/img/consul-arch/consul-arch-overview-rpc.svg) + + + + +## Cross-datacenter requests + +Each Consul datacenter maintains its own catalog of services and their health. By default, the information is not replicated across datacenters. WAN federation and cluster peering are two multi-datacenter deployment models that enable service connectivity across datacenters. + +### WAN federation + +WAN federation refers to designating a _primary datacenter_ that contains authoritative information about all datacenters, including service mesh configurations and access control list (ACL) resources. + +In this model, when a client agent requests a resource in a remote secondary datacenter, a local Consul server forwards the RPC request to a remote Consul server that has access to the resource. A remote server sends the results to the local server. If the remote datacenter is unavailable, its resources are also unavailable. By default, WAN-federated servers send cross-datacenter requests over TCP on port `8300`. + +You can configure control plane and data plane traffic to go through mesh gateways, which simplifies networking requirements. + +> **Hands-on**: To enable services to communicate across datacenters when the ACL system is enabled, refer to the [ACL Replication for Multiple Datacenters](https://learn.hashicorp.com/tutorials/consul/access-control-replication-multiple-datacenters) tutorial. + +#### WAN gossip pool + +Servers may also participate in a WAN gossip pool, which is optimized for greater latency imposed by the Internet. The pool enables servers to exchange information, such as their addresses and health, and gracefully handle loss of connectivity in the event of a failure. + +In the following diagram, the servers in each data center participate in a WAN gossip pool by sending data over TCP/UDP on port `8302`. Refer to [Gossip Protocol](/docs/architecture/gossip) for additional information. + + + + + +![Diagram of the Consul LAN gossip pool](/img/consul-arch/consul-arch-overview-wan-gossip-cross-cluster.svg) + + + + +![Diagram of RPC communication between Consul agents](/img/consul-arch/consul-arch-overview-remote-dc-forwarding-cross-cluster.svg) + + + + +### Peering clusters (beta) + +You can create peering connections between two or more independent clusters so that services deployed to different datacenters or admin partitions can communicate. An [admin partition](/docs/enterprise/admin-partitions) is a feature in Consul Enterprise that enables you to define isolated network regions that use the same Consul servers. In the cluster peering model, you create a token in one of the datacenters or partitions and configure another datacenter or partition to present the token to establish the connection. + +-> **Cluster peering is currently in beta:** Functionality associated with cluster peering is subject to change. You should never use the beta release in secure environments or production scenarios. Features in beta may have performance issues, scaling issues, and limited support. + +Refer to [What is Cluster Peering?](/docs/connect/cluster-peering) for additional information. \ No newline at end of file diff --git a/website/public/img/consul-arch.png b/website/public/img/consul-arch.png deleted file mode 100644 index 281b03dee5fa8ac6dcf84a57839ae8e44eed1e59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115945 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 \ No newline at end of file diff --git a/website/public/img/consul-arch/consul-arch-overview-control-plane.svg b/website/public/img/consul-arch/consul-arch-overview-control-plane.svg new file mode 100644 index 0000000000..51dc39d226 --- /dev/null +++ b/website/public/img/consul-arch/consul-arch-overview-control-plane.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/public/img/consul-arch/consul-arch-overview-lan-gossip-pool.svg b/website/public/img/consul-arch/consul-arch-overview-lan-gossip-pool.svg new file mode 100644 index 0000000000..b800523724 --- /dev/null +++ b/website/public/img/consul-arch/consul-arch-overview-lan-gossip-pool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/public/img/consul-arch/consul-arch-overview-remote-dc-forwarding-cross-cluster.svg b/website/public/img/consul-arch/consul-arch-overview-remote-dc-forwarding-cross-cluster.svg new file mode 100644 index 0000000000..8bd2535657 --- /dev/null +++ b/website/public/img/consul-arch/consul-arch-overview-remote-dc-forwarding-cross-cluster.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/public/img/consul-arch/consul-arch-overview-rpc.svg b/website/public/img/consul-arch/consul-arch-overview-rpc.svg new file mode 100644 index 0000000000..68aac6c6e3 --- /dev/null +++ b/website/public/img/consul-arch/consul-arch-overview-rpc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/public/img/consul-arch/consul-arch-overview-wan-gossip-cross-cluster.svg b/website/public/img/consul-arch/consul-arch-overview-wan-gossip-cross-cluster.svg new file mode 100644 index 0000000000..b36ab70ba4 --- /dev/null +++ b/website/public/img/consul-arch/consul-arch-overview-wan-gossip-cross-cluster.svg @@ -0,0 +1 @@ + \ No newline at end of file From 12ffd608c052c65e7ec8a8f429bf168a679c3533 Mon Sep 17 00:00:00 2001 From: trujillo-adam <47586768+trujillo-adam@users.noreply.github.com> Date: Thu, 29 Sep 2022 11:40:59 -0700 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> --- website/content/docs/architecture/index.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/content/docs/architecture/index.mdx b/website/content/docs/architecture/index.mdx index c579d8edab..e75137ca7b 100644 --- a/website/content/docs/architecture/index.mdx +++ b/website/content/docs/architecture/index.mdx @@ -77,7 +77,7 @@ Each Consul datacenter maintains its own catalog of services and their health. B ### WAN federation -WAN federation refers to designating a _primary datacenter_ that contains authoritative information about all datacenters, including service mesh configurations and access control list (ACL) resources. +WAN federation is an approach for connecting multiple Consul datacenters. It requires you to designate a _primary datacenter_ that contains authoritative information about all datacenters, including service mesh configurations and access control list (ACL) resources. In this model, when a client agent requests a resource in a remote secondary datacenter, a local Consul server forwards the RPC request to a remote Consul server that has access to the resource. A remote server sends the results to the local server. If the remote datacenter is unavailable, its resources are also unavailable. By default, WAN-federated servers send cross-datacenter requests over TCP on port `8300`. @@ -105,7 +105,7 @@ In the following diagram, the servers in each data center participate in a WAN g -### Peering clusters (beta) +### Cluster peering (beta) You can create peering connections between two or more independent clusters so that services deployed to different datacenters or admin partitions can communicate. An [admin partition](/docs/enterprise/admin-partitions) is a feature in Consul Enterprise that enables you to define isolated network regions that use the same Consul servers. In the cluster peering model, you create a token in one of the datacenters or partitions and configure another datacenter or partition to present the token to establish the connection.