In this installation guide, you install Gloo Gateway 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.

Before you begin

  1. Create or use an existing Kubernetes cluster.
  2. Install the following command-line tools.
    • kubectl, the Kubernetes command line tool. Download the kubectl version that is within one minor version of the Kubernetes clusters you plan to use.
    • helm, the Kubernetes package manager.

Install

Install Gloo Gateway by using Helm.

  1. Install the custom resources of the Kubernetes Gateway API version 1.4.0.

      kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.0/standard-install.yaml
      

    Example output:

      customresourcedefinition.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
      
  2. Apply the Gloo Gateway CRDs for the upgrade version by using Helm.

    1. Optional: To check the CRDs locally, download the CRDs to a helm directory.

        helm template --version 2.0.1 gloo-gateway-crds oci://us-docker.pkg.dev/solo-public/gloo-gateway/charts/gloo-gateway-crds --output-dir ./helm
        
    2. Deploy the Gloo Gateway CRDs by using Helm. This command creates the gloo-system namespace and creates the Gloo Gateway CRDs in the cluster.

        helm upgrade -i --create-namespace --namespace gloo-system --version 2.0.1 gloo-gateway-crds oci://us-docker.pkg.dev/solo-public/gloo-gateway/charts/gloo-gateway-crds 
        
  3. Install the Gloo Gateway Helm chart.

    1. Optional: Pull and inspect the Gloo Gateway 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.

        helm pull oci://us-docker.pkg.dev/solo-public/gloo-gateway/charts/gloo-gateway --version 2.0.1
      tar -xvf gloo-gateway-2.0.1.tgz
      open gloo-gateway/values.yaml
        
    2. Install Gloo Gateway by using Helm. This command installs the control plane into it. If you modified the values.yaml file with custom installation values, add the -f gloo-gateway/values.yaml flag.

      Example output:

        NAME: gloo-gateway
      LAST DEPLOYED: Thu Feb 13 14:03:51 2025
      NAMESPACE: gloo-system
      STATUS: deployed
      REVISION: 1
      TEST SUITE: None
        
  4. Verify that the control plane is up and running.

      kubectl get pods -n gloo-system
      

    Example output:

      NAME                                  READY   STATUS    RESTARTS   AGE
    gloo-gateway-78658959cd-cz6jt             1/1     Running   0          12s
      
  5. Verify that the gloo-gateway-v2 GatewayClass is created. You can optionally take a look at how the GatewayClass is configured by adding the -o yaml option to your command.

      kubectl get gatewayclass gloo-gateway-v2
      

Next steps

Now that you have Gloo Gateway set up and running, check out the following guides to expand your API gateway capabilities.

Cleanup

You can remove the resources that you created in this guide.

Follow the Uninstall guide.