Helm
In this installation guide, you install the kgateway control plane Control Plane Components that manage and distribute configuration and policies to the data plane. in a Kubernetes cluster by using Helm. Helm is a popular package manager for Kubernetes configuration files. This approach is flexible for adopting to your own command line, continuous delivery, or other workflows.
As part of the control plane installation, you enable the agentgateway data plane.
Before you begin
- Create or use an existing Kubernetes cluster.
- Install the following command-line tools.
Install
Install the kgateway control plane by using Helm.
-
Install the custom resources of the Kubernetes Gateway API version 1.4.0.
Example output:kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/standard-install.yamlCRDs in the experimental channel are required to use some experimental features in the Gateway API. Guides that require experimental CRDs note this requirement in their prerequisites.
kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/experimental-install.yamlcustomresourcedefinition.apiextensions.k8s.io/gatewayclasses.gateway.networking.k8s.io created customresourcedefinition.apiextensions.k8s.io/gateways.gateway.networking.k8s.io created customresourcedefinition.apiextensions.k8s.io/httproutes.gateway.networking.k8s.io created customresourcedefinition.apiextensions.k8s.io/referencegrants.gateway.networking.k8s.io created customresourcedefinition.apiextensions.k8s.io/grpcroutes.gateway.networking.k8s.io created -
Apply the kgateway CRDs for the upgrade version by using Helm.
-
Optional: To check the CRDs locally, download the CRDs to a
helmdirectory.helm template --version v2.1.1 kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds --output-dir ./helm -
Deploy the kgateway CRDs by using Helm. This command creates the kgateway-system namespace and creates the kgateway CRDs in the cluster.
helm upgrade -i --create-namespace --namespace kgateway-system --version v2.1.1 kgateway-crds oci://cr.kgateway.dev/kgateway-dev/charts/kgateway-crds
-
-
Install the kgateway Helm chart.
-
Optional: Pull and inspect the kgateway Helm chart values before installation. You might want to update the Helm chart values files to customize the installation. For example, you might change the namespace, update the resource limits and requests, or enable extensions such as for AI. For more information, see Advanced settings.
helm pull oci://cr.kgateway.dev/kgateway-dev/charts/kgateway --version v2.1.1 tar -xvf kgateway-v2.1.1.tgz open kgateway/values.yaml -
Install kgateway control plane by using Helm. If you modified the
values.yamlfile with custom installation values, add the-f kgateway/values.yamlflag.helm upgrade -i -n kgateway-system kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway \ --version v2.1.1 \ --set agentgateway.enabled=truehelm upgrade -i -n kgateway-system kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway \ --version v2.1.1 \ --set agentgateway.enabled=true \ -f kgateway/values.yamlWhen using the development build v2.2.0-main, add the
--set controller.image.pullPolicy=Alwaysoption to ensure you get the latest image. Alternatively, you can specify the exact image digest.helm upgrade -i -n kgateway-system kgateway oci://cr.kgateway.dev/kgateway-dev/charts/kgateway \ --version v2.2.0-main \ --set controller.image.pullPolicy=Always \ --set agentgateway.enabled=true \ --set controller.extraEnv.KGW_ENABLE_GATEWAY_API_EXPERIMENTAL_FEATURES=trueExample output:
NAME: kgateway LAST DEPLOYED: Thu Feb 13 14:03:51 2025 NAMESPACE: kgateway-system STATUS: deployed REVISION: 1 TEST SUITE: None
-
-
Verify that the control plane is up and running.
kubectl get pods -n kgateway-systemExample output:
NAME READY STATUS RESTARTS AGE kgateway-78658959cd-cz6jt 1/1 Running 0 12s -
Verify that the
agentgatewayGatewayClass is created. You can optionally take a look at how the GatewayClass is configured by adding the-o yamloption to your command.kubectl get gatewayclass agentgateway
Next steps
Now that you have the kgateway control plane set up and running, check out the following guides to start using the agentgateway data plane.
- Learn more about agentgateway, its features and benefits.
- Set up an agentgateway proxy to start routing to AI workloads.
Cleanup
You can remove the resources that you created in this guide.Follow the Uninstall guide.