Skip to content

Gateway Controller

Warning

Only follow this guide if no existing Gateway API controller is installed in your cluster.

Verify first:

kubectl get gatewayclasses

If no GatewayClass is listed, install one of the controllers below.


Option A: NGINX Gateway Fabric

  1. Install Gateway API CRDs:

    kubectl kustomize "https://github.com/nginx/nginx-gateway-fabric/config/crd/gateway-api/standard?ref=v2.0.1" | kubectl apply -f -
    

  2. Deploy the NGINX Gateway Fabric controller:

    helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric \
      --create-namespace -n nginx-gateway \
      --version 2.0.1
    

  3. Verify all pods are running:

    kubectl get pods -n nginx-gateway
    

  4. Confirm the GatewayClass is available:

    kubectl get gatewayclasses
    

You should see nginx in the output. Use nginx as your gatewayClassName in Helm values.


Option B: Cloud-Native Gateway Controllers

Choose the appropriate controller for your cloud platform:

Cloud Controller Documentation
Azure Azure Application Gateway for Containers Docs
AWS AWS Load Balancer Controller Docs
GCP GKE Gateway Controller Docs

Refer to your cloud provider's documentation for installation steps. After installation, confirm the GatewayClass name:

kubectl get gatewayclasses

Use the reported name as gatewayClassName in your Helm values.


References