Envoy Gateway Operator
TOC
OverviewArchitectureRelated custom resourcesOperator-related custom resourcesGateway API related custom resourcesEnvoy Gateway deploy-related custom resourcesInstall Envoy Gateway via Envoy Gateway OperatorPrerequisitesInstallationStep 1: Install Envoy Gateway OperatorStep 2: Create an EnvoyGatewayCtl with the Recommended Default ValuesConfiguration Via YAMLAdvanced Config Via EnvoyGatewayCtlExample: Enable Backend RoutingNext StepOverview
This document provides an overview of how envoy-gateway-operator works in ACP. It explains the relationships between
the main custom resources and runtime instances involved in Envoy Gateway, including EnvoyGatewayCtl, GatewayClass,
Gateway, EnvoyProxy, envoy-gateway instance, and envoy-proxy instance.
The envoy-gateway-operator packages the upstream envoy-gateway Helm chart as an Operator, so you can deploy and
manage an envoy-gateway instance declaratively through the EnvoyGatewayCtl custom resource instead of managing the
chart or rendered resources directly.
In ACP 4.3, envoy-gateway-operator packages the upstream envoy-gateway Helm chart version 1.7.0.
Because the Operator is maintained by the platform, it is also upgraded automatically together with the platform, which helps reduce the operational overhead of manually maintaining the Envoy Gateway installation.
This document also describes how to create an EnvoyGatewayCtl, which is the entry point for deploying and managing
Envoy Gateway through the platform.
After you understand the basic concepts in this document and create an EnvoyGatewayCtl, continue with Gateway,
Route, and Policy configuration in that order by following the documents listed in Next Step.
Architecture
The following workflow shows how envoy-gateway-operator, EnvoyGatewayCtl, GatewayClass, Gateway, and
EnvoyProxy work together to deploy and manage Envoy Gateway and its data plane.
-
After you install
envoy-gateway-operatorand create anEnvoyGatewayCtl, the operator deploys anenvoy-gateway instanceand creates a correspondingGatewayClass. TheGatewayClassname follows the<namespace>-<name>pattern. In this document, we use the recommended default example:cpaas-defaultin theenvoy-gateway-operatornamespace, which is also the default configuration prefilled on theCreate EnvoyGatewayCtlpage. In this case, the generatedGatewayClassisenvoy-gateway-operator-cpaas-default.Each
EnvoyGatewayCtlmust have a unique combination of namespace and name, so the correspondingGatewayClassnames are also unique. When creating aGateway, you select the appropriateGatewayClassto determine whichenvoy-gateway instancemanages it. -
When you create a
Gatewaythat references thisGatewayClass, theenvoy-gateway instancetakes ownership of thatGateway. If theGatewayreferences anEnvoyProxythrough.spec.infrastructure.parametersRef, thatEnvoyProxyis used to control how the underlyingenvoy-proxy instanceis deployed. -
The
envoy-gateway instancethen provisions and manages the correspondingenvoy-proxy instance, which serves as the data plane and handles incoming traffic for thatGateway. -
You can create
HTTPRoute,TCPRoute,UDPRoute,GRPCRoute, orTLSRouteresources and attach them to theGatewayto define how traffic is matched and forwarded to backend Services. You can also attach traffic policies such asClientTrafficPolicyorBackendTrafficPolicyfor more advanced behavior.
Related custom resources
The following custom resources are involved in deploying Envoy Gateway and configuring traffic behavior.
Operator-related custom resources
We recommend deploying a single envoy-gateway instance via EnvoyGatewayCtl per cluster for typical use cases.
For advanced scenarios, EnvoyGatewayCtl also allows you to deploy multiple envoy-gateway instance resources within the same cluster for stronger control and
isolation, such as different deployment mode.
Gateway API related custom resources
These resources describe the routing semantics of the gateway, including how traffic enters the gateway, how requests are matched and forwarded to backends, and what policies are applied during traffic processing.
For more details about these standard Gateway API resources, please refer to the Gateway API Concepts and Configure GatewayAPI Policy.
Envoy Gateway deploy-related custom resources
These resources are used to control how Envoy Gateway and its data plane are deployed. This section focuses on the deployment-related custom resource used by this document.
In the recommended deployment pattern, each Gateway references its own dedicated EnvoyProxy through .spec.infrastructure.parametersRef. When you create a
Gateway from the Web Console by using an EnvoyGatewayCtl-created GatewayClass, the console automatically creates a companion
EnvoyProxy resource with the same name and namespace. This one-to-one
mapping lets you control the Gateway's deployment configuration, such as replicas, resources, and scheduling, by updating the corresponding EnvoyProxy resource.
Install Envoy Gateway via Envoy Gateway Operator
Prerequisites
Please ensure that you have read the Overview and Architecture sections before proceeding.
Installation
Step 1: Install Envoy Gateway Operator
- Navigate to
Administrator -> Marketplace -> OperatorHub - Locate the
Alauda build of Envoy GatewayunderNetworkingCategory and clickInstall
Step 2: Create an EnvoyGatewayCtl with the Recommended Default Values
The following default values match the recommended example used throughout this document.
-
Navigate to
Administrator -> Marketplace -> OperatorHub -
Locate the
Alauda build of Envoy Gatewayunder theNetworkingcategory, then click it to open the details page. -
Navigate to the
All Instancestab -
Click
Create, then in the displayed dialog box, locate theEnvoyGatewayCtlInstance Type section and clickCreate -
The
Create EnvoyGatewayCtlpage displays the following configuration options:Recommendation: Use the default values for typical deployments. Click Create to proceed.
Configuration Via YAML
As an alternative to the Web Console, you can create an EnvoyGatewayCtl by applying YAML.
Default Config:
Advanced Config Via EnvoyGatewayCtl
EnvoyGatewayCtl is the custom resource used to configure an envoy-gateway instance. Its spec maps directly to the
values of the upstream envoy-gateway Helm chart. When you need to modify EnvoyGatewayCtl, refer to the upstream
chart values documentation for the available configuration options.
For detailed information about available configuration options, please refer to envoy-gateway-chart-values.
You should only configure the envoy-gateway instance through the EnvoyGatewayCtl resource. Do not directly modify rendered resources such as ConfigMaps, Deployments, as these changes may be lost during upgrades or reconciliation.
Example: Enable Backend Routing
The following example shows how to enable backend routing in the EnvoyGatewayCtl spec:
Next Step
After the Envoy Gateway operator and EnvoyGatewayCtl are ready, continue with the following tasks in order: