Dynamic configuration

    In a fully static configuration, the implementor provides a set of (and filter chains), , and optionally HTTP route configurations. Dynamic host discovery is only possible via DNS based . Configuration reloads must take place via the built in hot restart mechanism.

    The provides a more advanced mechanism by which Envoy can discover members of an upstream cluster. SDS has been renamed to Endpoint Discovery Service (EDS) in the . Layered on top of a static configuration, SDS allows an Envoy deployment to circumvent the limitations of DNS (maximum records in a response, etc.) as well as consume more information used in load balancing and routing (e.g., canary status, zone, etc.).

    Although it is possible to use CDS without SDS/EDS by specifying fully static clusters, we recommend still using the SDS/EDS API for clusters specified via CDS. Internally, when a cluster definition is updated, the operation is graceful. However, all existing connection pools will be drained and reconnected. SDS/EDS does not suffer from this limitation. When hosts are added and removed via SDS/EDS, the existing hosts in the cluster are unaffected.

    The listener discovery service (LDS) layers on a mechanism by which Envoy can discover entire listeners at runtime. This includes all filter stacks, up to and including HTTP filters with embedded references to . Adding LDS into the mix allows almost every aspect of Envoy to be dynamically configured. Hot restart should only be required for very rare configuration changes (admin, tracing driver, etc.) or binary updates.