> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Section Introduction

> Explains Kubernetes Gateway API resources, how GatewayClass, Gateway, and Routes work, configuring listeners, hostnames, parentRefs, and request filters, plus deploying gateways to expose cluster applications.

This lesson introduces the core Gateway API resources and shows how they fit together to expose applications running inside your Kubernetes cluster. You will learn the Gateway API object model, what each resource is responsible for, and the key configuration options you’ll use when deploying a Gateway and routing traffic to workloads.

Learning objectives:

* Understand the Gateway API architecture and primary resources: `GatewayClass`, `Gateway`, and `Routes`.
* Learn where to configure listeners, listener modes, hostnames, and `parentRefs`.
* Learn how request filters and cross-resource references influence traffic routing.
* Be ready to deploy a Gateway and publish an application using the Gateway API with NGINX Fabric Gateway.

<Callout icon="lightbulb" color="#1CB2FE">
  Recommended prerequisites: basic familiarity with Kubernetes resources (Pods, Services, Deployments) and `kubectl`. If you’re using a managed cluster or a specific Gateway controller (for example, NGINX Fabric Gateway), confirm controller compatibility with the Gateway API version you plan to use.
</Callout>

What we’ll cover (sequence):

1. Install and configure a `GatewayClass` — the cluster-wide definition that points to the controller implementation.
2. Deploy a `Gateway` — define listeners and mode-specific settings that accept traffic.
3. Configure `Routes` — such as `HTTPRoute` (and other route kinds) to expose services in your cluster.
4. Understand request filters, cross-resource references, `hostnames`, and `parentRefs` — how they alter routing behavior and attach routes to gateways.

Resource overview

| Resource Type | Purpose | Example / Quick Command |
| - | - | - |
| `GatewayClass` | Declarative binding to a gateway controller implementation (cluster-scoped). | `kubectl apply -f gatewayclass.yaml` |
| `Gateway` | Configures listeners (ports, protocols) and attaches to a `GatewayClass`. | `kubectl apply -f gateway.yaml` |
| `HTTPRoute` (and other Routes) | Route traffic to Services based on host, path, headers, or filters. | `kubectl apply -f httproute.yaml` |
| Listeners & modes | Define how traffic is accepted (protocols like HTTP/TLS, TLS termination, passthrough) | Config inside the `Gateway` spec |
| `parentRefs`, hostnames | Attach routes to gateway listeners and scope which hosts a route handles | Fields inside route objects |

Key concepts (short):

* GatewayClass: represents the implementation (controller) — you typically create one per controller type or cluster configuration.
* Gateway: an instance that binds to a `GatewayClass` and defines listeners (port, protocol, TLS settings).
* Routes: attach to one or more Gateways using `parentRefs` and define how to match and forward requests (host/path/header matching, filters).
* Request filters: allow header modification, URL rewrites, request mirroring, and other per-route transformations.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/QZ7pWzRtYdnRAGco/images/Gateway-API-with-NGINX-Fabric-Gateway/Core-Gateway-API-Resources/Section-Introduction/gateway-agenda-install-deploy-expose-publish.jpg?fit=max&auto=format&n=QZ7pWzRtYdnRAGco&q=85&s=5875065c7d369f880ae45243d53e6489" alt="A presentation slide titled &#x22;Agenda&#x22; with a blue gradient sidebar. It lists four numbered items about installing/configuring a GatewayClass, deploying the Gateway (listeners and modes), exposing applications with Routes, and a wrap-up to deploy and publish apps." width="1920" height="1080" data-path="images/Gateway-API-with-NGINX-Fabric-Gateway/Core-Gateway-API-Resources/Section-Introduction/gateway-agenda-install-deploy-expose-publish.jpg" />
</Frame>

Links and references

* Gateway API specification: [https://gateway-api.sigs.k8s.io/](https://gateway-api.sigs.k8s.io/)
* Kubernetes documentation: [https://kubernetes.io/docs/](https://kubernetes.io/docs/)
* NGINX Fabric Gateway (controller docs): [https://www.nginx.com/products/nginx-fabric/](https://www.nginx.com/products/nginx-fabric/)

That concludes this lesson. I hope you enjoyed it, and I will see you in the next lesson.

<CardGroup>
  <Card title="Watch Video" icon="video" cta="Learn more" href="https://learn.kodekloud.com/user/courses/gateway-api-with-nginx-fabric-gateway/module/4c755491-684e-4113-bddb-c202ad926bff/lesson/bb0d0974-e58b-4582-8e8e-c5349107044d" />
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.