<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Concepts on Envoy Gateway</title><link>/v1.4/concepts/</link><description>Recent content in Concepts on Envoy Gateway</description><generator>Hugo</generator><language>en</language><atom:link href="/v1.4/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>The Gateway API</title><link>/v1.4/concepts/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/v1.4/concepts/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>Proxy</title><link>/v1.4/concepts/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>Envoy Gateway Resources</title><link>/v1.4/concepts/concepts_overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/concepts_overview/</guid><description>&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;


&lt;img src="/img/envoy-gateway-resources-overview.png"&gt;&lt;/p&gt;
&lt;p&gt;There are several resources that play a part in enabling you to meet your Kubernetes ingress traffic handling needs. This page provides a brief overview of the resources you’ll be working with.&lt;/p&gt;



&lt;h3 id="kubernetes-gateway-api-resources"&gt;Kubernetes Gateway API Resources&lt;a class="td-heading-self-link" href="#kubernetes-gateway-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GatewayClass:&lt;/strong&gt; Defines a class of Gateways with common configuration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway:&lt;/strong&gt; Specifies how traffic can enter the cluster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routes:&lt;/strong&gt; &lt;strong&gt;HTTPRoute, GRPCRoute, TLSRoute, TCPRoute, UDPRoute:&lt;/strong&gt; Define routing rules for different types of traffic.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id="envoy-gateway-eg-api-resources"&gt;Envoy Gateway (EG) API Resources&lt;a class="td-heading-self-link" href="#envoy-gateway-eg-api-resources" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;EnvoyProxy:&lt;/strong&gt; Represents the deployment and configuration of the Envoy proxy within a Kubernetes cluster, managing its lifecycle and settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EnvoyPatchPolicy, ClientTrafficPolicy, SecurityPolicy, BackendTrafficPolicy, EnvoyExtensionPolicy, BackendTLSPolicy:&lt;/strong&gt; Additional policies and configurations specific to Envoy Gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Backend:&lt;/strong&gt; A resource that makes routing to cluster-external backends easier and makes access to external processes via Unix Domain Sockets possible.&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Resource&lt;/th&gt;
 &lt;th&gt;API&lt;/th&gt;
 &lt;th&gt;Required&lt;/th&gt;
 &lt;th&gt;Purpose&lt;/th&gt;
 &lt;th&gt;References&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gatewayclass/"&gt;GatewayClass&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;Core&lt;/td&gt;
 &lt;td&gt;Defines a class of Gateways with common configuration.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/gateway/"&gt;Gateway&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Gateway Config&lt;/td&gt;
 &lt;td&gt;GatewayClass&lt;/td&gt;
 &lt;td&gt;Specifies how traffic can enter the cluster.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/httproute/"&gt;HTTPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/api-types/grpcroute/"&gt;GRPCRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.TLSRoute"&gt;TLSRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.TCPRoute"&gt;TCPRoute&lt;/a&gt; &lt;a href="https://gateway-api.sigs.k8s.io/reference/spec#gateway.networking.k8s.io/v1alpha2.UDPRoute"&gt;UDPRoute&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Define routing rules for different types of traffic. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;For simplicity these resources are referenced collectively as Route in the References column&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/tasks/traffic/backend/"&gt;Backend&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Routing&lt;/td&gt;
 &lt;td&gt;N/A&lt;/td&gt;
 &lt;td&gt;Used for routing to cluster-external backends using FQDN or IP. Can also be used when you want to extend Envoy with external processes accessed via Unix Domain Sockets.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#clienttrafficpolicy"&gt;ClientTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway&lt;/td&gt;
 &lt;td&gt;Specifies policies for handling client traffic, including rate limiting, retries, and other client-specific configurations.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#backendtrafficpolicy"&gt;BackendTrafficPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Traffic Handling&lt;/td&gt;
 &lt;td&gt;Gateway, Route&lt;/td&gt;
 &lt;td&gt;Specifies policies for traffic directed towards backend services, including load balancing, health checks, and failover strategies. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#securitypolicy"&gt;SecurityPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Gateway, Route&lt;/td&gt;
 &lt;td&gt;Defines security-related policies such as authentication, authorization, and encryption settings for traffic handled by Envoy Gateway. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="https://gateway-api.sigs.k8s.io/api-types/backendtlspolicy/"&gt;BackendTLSPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;Gateway API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Security&lt;/td&gt;
 &lt;td&gt;Service&lt;/td&gt;
 &lt;td&gt;Defines TLS settings for backend connections, including certificate management, TLS version settings, and other security configurations. This policy is applied to Kubernetes Services.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#envoyproxy"&gt;EnvoyProxy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass, Gateway&lt;/td&gt;
 &lt;td&gt;The EnvoyProxy resource represents the deployment and configuration of the Envoy proxy itself within a Kubernetes cluster, managing its lifecycle and settings. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#envoypatchpolicy"&gt;EnvoyPatchPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;GatewayClass, Gateway&lt;/td&gt;
 &lt;td&gt;This policy defines custom patches to be applied to Envoy Gateway resources, allowing users to tailor the configuration to their specific needs. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#envoyextensionpolicy"&gt;EnvoyExtensionPolicy&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;Gateway, Route, Backend&lt;/td&gt;
 &lt;td&gt;Allows for the configuration of Envoy proxy extensions, enabling custom behavior and functionality. &lt;strong&gt;Note:&lt;/strong&gt;&lt;em&gt;Most specific configuration wins&lt;/em&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;a href="/v1.4/api/extension_types/#httproutefilter"&gt;HTTPRouteFilter&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;EG API&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Customize &amp;amp; Extend&lt;/td&gt;
 &lt;td&gt;HTTPRoute&lt;/td&gt;
 &lt;td&gt;Allows for the additional request/response processing.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Load Balancing</title><link>/v1.4/concepts/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/load-balancing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing distributes incoming requests across multiple backend services to improve availability, responsiveness, and scalability. Instead of directing all traffic to a single backend, which can cause slowdowns or outages, load balancing spreads the load across multiple instances, helping your applications stay fast and reliable under pressure.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use load balancing to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handle high traffic by distributing it across multiple service instances&lt;/li&gt;
&lt;li&gt;Keep services available even if one or more backends go down&lt;/li&gt;
&lt;li&gt;Improve response time by routing to less busy or closer backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="load-balancing-in-envoy-gateway"&gt;Load Balancing in Envoy Gateway&lt;a class="td-heading-self-link" href="#load-balancing-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports several load balancing strategies that determine how traffic is distributed across backend services. These strategies are configured using the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource and can be applied to &lt;code&gt;Gateway&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt;, or &lt;code&gt;GRPCRoute&lt;/code&gt; resources either by directly referencing them using the targetRefs field or by dynamically selecting them using the targetSelectors field, which matches resources based on Kubernetes labels.&lt;/p&gt;</description></item><item><title>Rate Limiting</title><link>/v1.4/concepts/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.4/concepts/rate-limiting/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is a technique for controlling the number of incoming requests over a defined period. It can be used to control usage for business purposes, like agreed usage quotas, or to ensure the stability of a system, preventing overload and protecting the system from, e.g., Denial of Service attacks.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is commonly used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Overload:&lt;/strong&gt; Protect internal systems like databases from excessive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt; Block or limit abusive behavior such as brute-force attempts or DDoS attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Fair Usage:&lt;/strong&gt; Enforce quotas and prevent resource hogging by individual clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement Entitlements:&lt;/strong&gt; Define API usage limits based on user identity or role.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="rate-limiting-in-envoy-gateway"&gt;Rate Limiting in Envoy Gateway&lt;a class="td-heading-self-link" href="#rate-limiting-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports two types of rate limiting:&lt;/p&gt;</description></item></channel></rss>