| id | prerequisites |
|---|---|
| title | Prerequisites |
| sidebar_position | 2 |
import Link from '@docusaurus/Link'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import CodeBlock from '@theme/CodeBlock'; import vars from '../_vars.json';
Before you begin using Envoy AI Gateway, you'll need to ensure you have the following prerequisites in place:
Make sure you have the following tools installed:
kubectl- The Kubernetes command-line toolhelm- The package manager for Kubernetescurl- For testing API endpoints (installed by default on most systems)
:::tip Verify Installation Run these commands to verify your tools are properly installed:
Verify kubectl installation:
kubectl version --clientVerify helm installation:
helm versionVerify curl installation:
curl --version:::
:::info Version Requirements Envoy AI Gateway requires Kubernetes version {vars.k8sMinVersion} or higher. We recommend using a recent stable version of Kubernetes for the best experience. :::
You need a running Kubernetes cluster with your kubeconfig properly configured. You have several options:
If you already have a Kubernetes cluster, ensure your kubeconfig is properly configured to access it.
Verify your cluster meets the version requirements by running:
kubectl version --output=jsonThe server version in the output should show version {vars.k8sMinVersion} or higher:
{
"serverVersion": {
"major": "1",
"minor": "32+",
...
}
}:::caution
If your cluster is running a version lower than {vars.k8sMinVersion}, our recommendation is to upgrade your cluster to meet the minimum requirements. The recommended Kubernetes versions are those that are actively tested and supported by the Envoy AI Gateway team.
:::
If you're using Docker Desktop, you can enable its built-in Kubernetes cluster:
- Open Docker Desktop
- Click on the gear icon (Settings)
- Select "Kubernetes" from the left sidebar
- Check "Enable Kubernetes"
- Click "Apply & Restart"
Wait for Docker Desktop to restart and for the Kubernetes cluster to be ready. You can verify the setup by running:
kubectl config use-context docker-desktop
kubectl cluster-infoThe output should show that the Kubernetes control plane is running.
:::tip
Docker Desktop's Kubernetes is a great choice for local development as it:
- Comes pre-installed with Docker Desktop
- Runs locally on your machine
- Integrates well with Docker Desktop's UI
- Requires minimal setup
:::
If you don't have a Kubernetes cluster, you can quickly create a local one using kind.
First, install kind if you haven't already (on macOS with Homebrew):
brew install kindThen create a cluster:
kind create cluster:::warning Important
Ensure you're using a clean Envoy Gateway deployment. If you have an existing Envoy Gateway installation with custom configurations, it may conflict with AI Gateway's requirements. We recommend:
- Using a fresh Kubernetes cluster, or
- Uninstalling any existing Envoy Gateway deployments before proceeding:
helm uninstall eg -n envoy-gateway-system kubectl delete namespace envoy-gateway-system
:::
:::info Version Requirements
Envoy AI Gateway requires Envoy Gateway version {vars.egMinVersion} or higher. For the best experience while trying out AI Gateway, we recommend using the latest version as shown in the commands below.
:::
Envoy AI Gateway is built on top of Envoy Gateway. Install it using Helm and wait for the deployment to be ready.
{`helm upgrade -i eg oci://docker.io/envoyproxy/gateway-helm \\ --version v${vars.egVersion} \\ --namespace envoy-gateway-system \\ --create-namespace \\ -f https://raw.githubusercontent.com/envoyproxy/ai-gateway/${vars.aigwGitRef}/manifests/envoy-gateway-values.yamlkubectl wait --timeout=2m -n envoy-gateway-system deployment/envoy-gateway --for=condition=Available`}
If you are experiencing network issues with
docker.io, you can follow the Install from Source Code instructions.
Note that we have included the AI Gateway-specific helm values file via the -f flag. This file contains the necessary configuration for AI Gateway integration.
Depending on the additional features you want (like rate limiting or InferencePool), you need to pass additional addon values files to modify the Envoy Gateway installation. Currently, supported addons are:
- Rate Limiting: {`https://github.com/envoyproxy/ai-gateway/blob/${vars.aigwGitRef}/examples/token_ratelimit/envoy-gateway-values-addon.yaml`}
- InferencePool: {`https://github.com/envoyproxy/ai-gateway/blob/${vars.aigwGitRef}/examples/inference-pool/envoy-gateway-values-addon.yaml`}
For example, to install with all addons enabled, run:
{`helm upgrade -i eg oci://docker.io/envoyproxy/gateway-helm \\ --version v${vars.egVersion} \\ --namespace envoy-gateway-system \\ --create-namespace \\ -f https://raw.githubusercontent.com/envoyproxy/ai-gateway/${vars.aigwGitRef}/manifests/envoy-gateway-values.yaml \\ -f https://raw.githubusercontent.com/envoyproxy/ai-gateway/${vars.aigwGitRef}/examples/token_ratelimit/envoy-gateway-values-addon.yaml \\ -f https://raw.githubusercontent.com/envoyproxy/ai-gateway/${vars.aigwGitRef}/examples/inference-pool/envoy-gateway-values-addon.yaml`}