Get started

Get started with kgateway

Get started with kgateway, a cloud-native Layer 7 proxy that is based on the Envoy and Kubernetes Gateway API projects.

Before you begin

These quick start steps assume that you have a Kubernetes cluster, kubectl, and helm already set up. For quick testing, you can use Kind.

kind create cluster

Install

The following steps get you started with a basic installation. For instructions, see the installation guide.

  1. Deploy the Kubernetes Gateway API CRDs.

    kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/standard-install.yaml
    kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.3.0/experimental-install.yaml
  2. Deploy the kgateway CRDs by using Helm. The following command uses the latest stable release, v2.0.4. For active development, update the version to v2.1.0-main.

    helm upgrade -i --create-namespace --namespace kgateway-system --version v2.0.4 kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds
    helm upgrade -i --create-namespace --namespace kgateway-system --version v2.1.0-main \
    kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds \
    --set controller.image.pullPolicy=Always
  3. Install kgateway by using Helm. The following command uses the latest stable release, v2.0.4. For active development, update the version to v2.1.0-main.

    helm upgrade -i --namespace kgateway-system --version v2.0.4 kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway
    helm upgrade -i --namespace kgateway-system --version v2.1.0-main \
    kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway \
    --set controller.image.pullPolicy=Always
    helm upgrade -i --namespace kgateway-system --version v2.1.0-main kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway \
      --set agentGateway.enabled=true \
      --set agentGateway.enableAlphaAPIs=true
  4. Make sure that kgateway is running.

    kubectl get pods -n kgateway-system

    Example output:

    NAME                        READY   STATUS    RESTARTS   AGE
    kgateway-5495d98459-46dpk   1/1     Running   0          19s
    

Good job! You now have the kgateway control plane running in your cluster.

Next steps

Set up the data plane by choosing a gateway proxy depending on your use case.

Set up an API gateway with an httpbin sample app. This guide uses the Envoy-based kgateway proxy to set up an API gateway. Then, deploy a sample httpbin app, configure a basic HTTP listener on the API gateway, and route traffic to httpbin by using an HTTPRoute resource.

Set up an AI gateway with an MCP sample tool server. This guide uses the agentgateway proxy to set up an AI gateway that you can use for Model Context Protocol (MCP), agent-to-agent (A2A), large language model (LLM), and more AI-related use cases. The example deploys a sample MCP server with a fetch tool, exposes the tool with agentgateway, and tests the tool with the MCP Inspector UI.

Cleanup

No longer need kgateway? Uninstall with the following command:

helm uninstall kgateway -n kgateway-system