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.
-
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
-
Deploy the kgateway CRDs by using Helm.
helm upgrade -i --create-namespace --namespace kgateway-system --version v2.0.4 kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds
-
Install kgateway by using Helm.
helm upgrade -i --namespace kgateway-system --version v2.0.4 kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway
-
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.
Cleanup
No longer need kgateway? Uninstall with the following command:
helm uninstall kgateway -n kgateway-system