Get started with kgateway
Get started with kgateway. Kgateway is a control plane that implements the Kubernetes Gateway API for both microservices and AI workloads. The control plane translates your Kubernetes Gateway API resources into the configuration that the underlying data plane proxy can understand. The proxy layer is handled by kgateway’s implementation of Envoy for microservices or agentgateway for AI workloads.
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 clusterInstall
The following steps get you started with a basic installation. For detailed instructions, see the installation guides.
-
Deploy the Kubernetes Gateway API CRDs.
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/standard-install.yamlkubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/experimental-install.yaml -
Deploy the kgateway CRDs by using Helm.
helm upgrade -i --create-namespace --namespace kgateway-system --version v2.1.1 kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds -
Install kgateway by using Helm.
helm upgrade -i --namespace kgateway-system --version v2.1.1 \ kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway \ --set controller.image.pullPolicy=Alwayshelm upgrade -i --namespace kgateway-system --version v2.1.1 kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway \ --set controller.image.pullPolicy=Always -
Make sure that the
kgatewaycontrol plane is running.kubectl get pods -n kgateway-systemExample 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 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.
Cleanup
No longer need kgateway? Uninstall with the following command:
helm uninstall kgateway -n kgateway-system