- Install the Kubernetes Gateway API CRDs required by Gateway API types.
- Install the NGINX Gateway Fabric control plane with Helm.
- Verify namespace, pods, services, and the available GatewayClass.
- A Kubernetes cluster (local clusters like kind or Docker Desktop are fine).
- kubectl configured to talk to your cluster.
- Helm 3.x installed.
Tip: For a local test environment use a
kind cluster. In cloud environments you typically expose the control plane using a LoadBalancer service type instead of NodePort.Install the Gateway API CRDs
NGINX Gateway Fabric relies on Gateway API types (GatewayClass, Gateway, HTTPRoute, GRPCRoute, etc.). Install the Gateway API custom resource definitions (CRDs) provided by the NGINX repo:Install the NGINX Gateway Fabric Helm chart
Install the NGINX Gateway Fabric control plane into a dedicated namespace (nginx-gateway). For local clusters without a cloud load balancer we’ll expose the NGINX service as NodePort. In production or cloud environments prefer LoadBalancer.
Command:
Warning: Using
NodePort binds ports on cluster nodes. For production or cloud deployments use LoadBalancer or an Ingress controller integrated with your cloud provider.Warning: unrecognized format "int32"/"int64" messages are informational OpenAPI warnings and can usually be ignored.
Verify the installation
- Confirm the namespace exists:
- Inspect resources in the
nginx-gatewaynamespace:
- The pods you see in the
nginx-gatewaynamespace are the control plane components. The control plane stores configuration and watches Gateway API resources. - When you create a Gateway and attach Routes, the control plane configures the corresponding data plane (NGINX instances or sidecars) that actually process the application traffic.
- The control plane manages lifecycle, configuration distribution, and reconciliation for data plane instances.
Check available GatewayClass resources
GatewayClass objects advertise which controller/author manages Gateways of that class. After installation you should see a GatewayClass for NGINX. List GatewayClass objects cluster-wide:GatewayClass you want the controller to manage. If you install other implementations (HAProxy, Envoy, Istio, etc.) you’ll see additional GatewayClass entries.
Quick reference — common next steps
- Create a Gateway resource that references the
nginxGatewayClass. - Create HTTPRoute or GRPCRoute resources to attach services to Gateway listeners.
- Inspect control plane logs and data plane resources to see configuration propagation.
Closing
You now have the Gateway API CRDs installed and the NGINX Gateway Fabric control plane running in your cluster. From here you can create Gateways and Routes and watch how the control plane configures data plane instances to handle traffic. Links and references- Gateway API: https://gateway-api.sigs.k8s.io/
- NGINX Gateway Fabric docs: https://docs.nginx.com/nginx-gateway-fabric/latest/
- kind (Kubernetes in Docker): https://kind.sigs.k8s.io/