mirror of https://github.com/status-im/consul.git
Docs: change connect to SM for mTLS page (#16082)
* Update connect-internals.mdx Removed most references for 'Connect' given the terminology has long been deprecated in official use. * Apply suggestions from code review Co-authored-by: Blake Covarrubias <blake@covarrubi.as> * Update connect-internals.mdx Updates based on Blakes recommendations * Update connect-internals.mdx --------- Co-authored-by: Blake Covarrubias <blake@covarrubi.as> Co-authored-by: Kendall Strautman <36613477+kendallstrautman@users.noreply.github.com>
This commit is contained in:
parent
b15a6e02b4
commit
5737b55136
|
@ -2,7 +2,7 @@
|
|||
layout: docs
|
||||
page_title: Service Mesh - How it Works
|
||||
description: >-
|
||||
Consul's service mesh enforces secure service communication using mutual TLS (mTLS) encryption and explicit authorization. Learn how the service mesh certificate authorities, intentions, and agents work together in the ""Connect"" subsystem to provide Consul’s service mesh capabilities.
|
||||
Consul's service mesh enforces secure service communication using mutual TLS (mTLS) encryption and explicit authorization. Learn how the service mesh certificate authorities, intentions, and agents work together to provide Consul’s service mesh capabilities.
|
||||
---
|
||||
|
||||
# How Service Mesh Works
|
||||
|
@ -19,13 +19,13 @@ tutorial.
|
|||
|
||||
## Mutual Transport Layer Security (mTLS)
|
||||
|
||||
The core of Connect is based on [mutual TLS](https://en.wikipedia.org/wiki/Mutual_authentication).
|
||||
The core of Consul service mesh is based on [mutual TLS](https://en.wikipedia.org/wiki/Mutual_authentication).
|
||||
|
||||
Connect provides each service with an identity encoded as a TLS certificate.
|
||||
Consul service mesh provides each service with an identity encoded as a TLS certificate.
|
||||
This certificate is used to establish and accept connections to and from other
|
||||
services. The identity is encoded in the TLS certificate in compliance with
|
||||
the [SPIFFE X.509 Identity Document](https://github.com/spiffe/spiffe/blob/master/standards/X509-SVID.md).
|
||||
This enables Connect services to establish and accept connections with
|
||||
This enables Consul service mesh services to establish and accept connections with
|
||||
other SPIFFE-compliant systems.
|
||||
|
||||
The client service verifies the destination service certificate
|
||||
|
@ -50,8 +50,8 @@ requires no other dependencies, and
|
|||
also ships with built-in support for [Vault](/consul/docs/connect/ca/vault). The PKI system is designed to be pluggable
|
||||
and can be extended to support any system by adding additional CA providers.
|
||||
|
||||
All APIs required for Connect typically respond in microseconds and impose
|
||||
minimal overhead to existing services. To ensure this, Connect-related API calls
|
||||
All APIs required for Consul service mesh typically respond in microseconds and impose
|
||||
minimal overhead to existing services. To ensure this, Consul service mesh-related API calls
|
||||
are all made to the local Consul agent over a loopback interface, and all [agent
|
||||
Connect endpoints](/consul/api-docs/agent/connect) implement local caching, background
|
||||
updating, and support blocking queries. Most API calls operate on purely local
|
||||
|
@ -60,14 +60,14 @@ in-memory data.
|
|||
## Agent Caching and Performance
|
||||
|
||||
To enable fast responses on endpoints such as the [agent Connect
|
||||
API](/consul/api-docs/agent/connect), the Consul agent locally caches most Connect-related
|
||||
API](/consul/api-docs/agent/connect), the Consul agent locally caches most Consul service mesh-related
|
||||
data and sets up background [blocking queries](/consul/api-docs/features/blocking) against
|
||||
the server to update the cache in the background. This allows most API calls
|
||||
such as retrieving certificates or authorizing connections to use in-memory
|
||||
data and respond very quickly.
|
||||
|
||||
All data cached locally by the agent is populated on demand. Therefore, if
|
||||
Connect is not used at all, the cache does not store any data. On first request,
|
||||
Consul service mesh is not used at all, the cache does not store any data. On first request,
|
||||
the data is loaded from the server and cached. The set of data cached is: public
|
||||
CA root certificates, leaf certificates, intentions, and service discovery
|
||||
results for upstreams. For leaf certificates and intentions, only data related
|
||||
|
@ -79,9 +79,9 @@ may see data it shouldn't from the cache. This results in higher memory usage
|
|||
for cached data since it is duplicated per ACL token, but with the benefit
|
||||
of simplicity and security.
|
||||
|
||||
With Connect enabled, you'll likely see increased memory usage by the
|
||||
With Consul service mesh enabled, you'll likely see increased memory usage by the
|
||||
local Consul agent. The total memory is dependent on the number of intentions
|
||||
related to the services registered with the agent accepting Connect-based
|
||||
related to the services registered with the agent accepting Consul service mesh-based
|
||||
connections. The other data (leaf certificates and public CA certificates)
|
||||
is a relatively fixed size per service. In most cases, the overhead per
|
||||
service should be relatively small: single digit kilobytes at most.
|
||||
|
@ -116,7 +116,7 @@ be set in the secondary datacenter server's configuration.
|
|||
|
||||
## Certificate Authority Federation
|
||||
|
||||
The primary datacenter also acts as the root Certificate Authority (CA) for Connect.
|
||||
The primary datacenter also acts as the root Certificate Authority (CA) for Consul service mesh.
|
||||
The primary datacenter generates a trust-domain UUID and obtains a root certificate
|
||||
from the configured CA provider which defaults to the built-in one.
|
||||
|
||||
|
@ -124,7 +124,7 @@ Secondary datacenters fetch the root CA public key and trust-domain ID from the
|
|||
primary and generate their own key and Certificate Signing Request (CSR) for an
|
||||
intermediate CA certificate. This CSR is signed by the root in the primary
|
||||
datacenter and the certificate is returned. The secondary datacenter can now use
|
||||
this intermediate to sign new Connect certificates in the secondary datacenter
|
||||
this intermediate to sign new Consul service mesh certificates in the secondary datacenter
|
||||
without WAN communication. CA keys are never replicated between datacenters.
|
||||
|
||||
The secondary maintains watches on the root CA certificate in the primary. If the
|
||||
|
|
Loading…
Reference in New Issue