Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions content/ngf/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ service/tea created
Verify that the new pods are in the `default` namespace:

```shell
kubectl -n default get pods
kubectl get pods
```

```text
Expand Down Expand Up @@ -252,7 +252,7 @@ gateway.gateway.networking.k8s.io/gateway created
Verify that the NGINX deployment has been provisioned:

```shell
kubectl -n default get pods
kubectl get pods
```

```text
Expand Down Expand Up @@ -317,7 +317,7 @@ httproute.gateway.networking.k8s.io/tea created
You can check that all of the expected services are available using `kubectl get`:

```shell
kubectl -n default get services
kubectl get services
```

```text
Expand All @@ -331,7 +331,7 @@ tea ClusterIP 10.96.43.183 <none> 80/TCP 2m2s
You can also use `kubectl describe` on the new resources to check their status:

```shell
kubectl -n default describe httproutes
kubectl describe httproutes
```

```text
Expand Down Expand Up @@ -446,7 +446,7 @@ Events: <none>
```

```shell
kubectl -n default describe gateways
kubectl describe gateways
```

```text
Expand Down
24 changes: 22 additions & 2 deletions content/ngf/how-to/gateway-api-inference-extension.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,30 @@ EOF
Confirm that the Gateway was assigned an IP address and reports a `Programmed=True` status:

```shell
kubectl describe gateway inference-gateway
kubectl describe gateways.gateway.networking.k8s.io inference-gateway
```

Save the public IP address and port of the NGINX Service into shell variables:
```text
Status:
Addresses:
Type: IPAddress
Value: 10.96.36.219
Conditions:
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
```

Save the public IP address and port(s) of the Gateway into shell variables:

```text
GW_IP=XXX.YYY.ZZZ.III
Expand Down
30 changes: 28 additions & 2 deletions content/ngf/monitoring/tracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -244,9 +244,35 @@ spec:
EOF
```

After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic.
After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. Verify the gateway is created:

Save the public IP address and port of the NGINX Service into shell variables:
```shell
kubectl describe gateways.gateway.networking.k8s.io cafe
```

Verify the status is `Accepted`:

```text
Status:
Addresses:
Type: IPAddress
Value: 10.96.36.219
Conditions:
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
```

Save the public IP address and port(s) of the Gateway into shell variables:

```text
GW_IP=XXX.YYY.ZZZ.III
Expand Down
2 changes: 1 addition & 1 deletion content/ngf/overview/custom-policies.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ NGINX Gateway Fabric sets the [PolicyStatus](https://gateway-api.sigs.k8s.io/ref
To check the status of a policy, use `kubectl describe`. This example checks the status of the `foo` ObservabilityPolicy, which is accepted:

```shell
kubectl describe observabilitypolicies.gateway.nginx.org foo -n default
kubectl describe observabilitypolicies.gateway.nginx.org foo
```

```text
Expand Down
8 changes: 4 additions & 4 deletions content/ngf/overview/gateway-api-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ Learn which Gateway API resources NGINX Gateway Fabric supports and to which lev
| [GRPCRoute](#grpcroute) | Supported | Partially supported | Not supported | v1 | Standard |
| [ReferenceGrant](#referencegrant) | Supported | N/A | Not supported | v1beta1 | Standard |
| [TLSRoute](#tlsroute) | Supported | Not supported | Not supported | v1alpha2 | Experimental |
| [TCPRoute](#tcproute) | Not supported | Not supported | Not supported | v1alpha2 | Experimental |
| [UDPRoute](#udproute) | Not supported | Not supported | Not supported | v1alpha2 | Experimental |
| [TCPRoute](#tcproute) | Supported | Supported | Not supported | v1alpha2 | Experimental |
| [UDPRoute](#udproute) | Supported | Supported | Not supported | v1alpha2 | Experimental |
| [BackendTLSPolicy](#backendtlspolicy) | Partially Supported | Supported | Partially supported | v1 | Standard |
| [Custom policies](#custom-policies) | N/A | N/A | Supported | N/A | N/A |
{{< /table >}}
Expand Down Expand Up @@ -310,15 +310,15 @@ Fields:
{{< table >}}
| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel |
|----------|--------------------|------------------------|---------------------------------------|-------------|---------------------|
| TCPRoute | Not supported | Not supported | Not supported | v1alpha2 | Experimental |
| TCPRoute | Supported | Supported | Not supported | v1alpha2 | Experimental |
{{< /table >}}

### UDPRoute

{{< table >}}
| Resource | Core Support Level | Extended Support Level | Implementation-Specific Support Level | API Version | API Release Channel |
|----------|--------------------|------------------------|---------------------------------------|-------------|---------------------|
| UDPRoute | Not supported | Not supported | Not supported | v1alpha2 | Experimental |
| UDPRoute | Supported | Supported | Not supported | v1alpha2 | Experimental |
{{< /table >}}

### BackendTLSPolicy
Expand Down
32 changes: 29 additions & 3 deletions content/ngf/traffic-management/advanced-routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,35 @@ EOF
```

This gateway defines a single listener on port 80. Since no hostname is specified, this listener matches on all hostnames.
After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic.
After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. Verify the gateway is created:

Save the public IP address and port of the NGINX Service into shell variables:
```shell
kubectl describe gateways.gateway.networking.k8s.io cafe
```

Verify the status is `Accepted`:

```text
Status:
Addresses:
Type: IPAddress
Value: 10.96.36.219
Conditions:
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
```

Save the public IP address and port(s) of the Gateway into shell variables:

```text
GW_IP=XXX.YYY.ZZZ.III
Expand Down Expand Up @@ -386,7 +412,7 @@ This will result in a `404 Not Found` response since `/coffee/123` does not matc

If you have any issues while sending traffic, try the following to debug your configuration and setup:

- Make sure you set the shell variables $GW_IP and $GW_PORT to the public IP and port of the NGINX service. Refer to the [Installation]({{< ref "/ngf/install/" >}}) guides for more information.
- Make sure you set the shell variables ${GW_IP} and ${GW_PORT} to the public IP and port of the NGINX service. Refer to the [Installation]({{< ref "/ngf/install/" >}}) guides for more information.

- Check the status of the Gateway:

Expand Down
40 changes: 33 additions & 7 deletions content/ngf/traffic-management/basic-routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,14 +223,40 @@ spec:
EOF
```

After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic.
After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. Verify the gateway is created:

Save the public IP address and port of the NGINX Service into shell variables:
```shell
kubectl describe gateways.gateway.networking.k8s.io cafe
```

Verify the status is `Accepted`:

```text
Status:
Addresses:
Type: IPAddress
Value: 10.96.36.219
Conditions:
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
```

Save the public IP address and port(s) of the Gateway into shell variables:

```text
GW_IP=XXX.YYY.ZZZ.III
GW_PORT=<port number>
```
```text
GW_IP=XXX.YYY.ZZZ.III
GW_PORT=<port number>
```

{{< call-out "note" >}}

Expand Down Expand Up @@ -438,7 +464,7 @@ If you have any issues while testing the configuration, try the following to deb
- Check the generated nginx config:

```shell
kubectl exec -it -n <nginx-pod-namespace> <nginx-pod-name> -- nginx -T
kubectl exec -it deployments/cafe-nginx -- nginx -T
```

The config should contain a server block with the server name "cafe.example.com" that listens on port 80. This server block should have a single location `/` that proxy passes to the coffee upstream:
Expand Down
27 changes: 26 additions & 1 deletion content/ngf/traffic-management/client-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,32 @@ Create HTTPRoutes for the coffee and tea applications:
kubectl apply -f https://raw.githubusercontent.com/nginx/nginx-gateway-fabric/v{{< version-ngf >}}/examples/client-settings-policy/httproutes.yaml
```

Save the public IP address and port of the NGINX Service into shell variables:
Verify the gateway is created:

```shell
kubectl describe gateways.gateway.networking.k8s.io gateway
```

Verify the status is `Accepted`:

```text
Status:
Conditions:
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
```

Save the public IP address and port(s) of the Gateway into shell variables:

```text
GW_IP=XXX.YYY.ZZZ.III
Expand Down
40 changes: 33 additions & 7 deletions content/ngf/traffic-management/https-termination.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,15 +154,41 @@ This gateway configures:
- `http` listener for HTTP traffic
- `https` listener for HTTPS traffic. It terminates TLS connections using the `cafe-secret` we created.

After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic.
After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. Verify the gateway is created:

Save the public IP address and ports of the NGINX Service into shell variables:
```shell
kubectl describe gateways.gateway.networking.k8s.io cafe
```

Verify the status is `Accepted`:

```text
Status:
Addresses:
Type: IPAddress
Value: 10.96.36.219
Conditions:
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
```

- Save the public IP address and port(s) of the Gateway into shell variables:

```text
GW_IP=XXX.YYY.ZZZ.III
GW_HTTP_PORT=<http port number>
GW_HTTPS_PORT=<https port number>
```
```text
GW_IP=XXX.YYY.ZZZ.III
GW_HTTP_PORT=<http port number>
GW_HTTPS_PORT=<https port number>
```

{{< call-out "note" >}}

Expand Down
30 changes: 28 additions & 2 deletions content/ngf/traffic-management/mirror.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,35 @@ spec:
EOF
```

After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic.
After creating the Gateway resource, NGINX Gateway Fabric will provision an NGINX Pod and Service fronting it to route traffic. Verify the gateway is created:

Save the public IP address and port of the NGINX Service into shell variables:
```shell
kubectl describe gateways.gateway.networking.k8s.io cafe
```

Verify the status is `Accepted`:

```text
Status:
Addresses:
Type: IPAddress
Value: 10.96.36.219
Conditions:
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is accepted
Observed Generation: 1
Reason: Accepted
Status: True
Type: Accepted
Last Transition Time: 2026-01-09T05:40:37Z
Message: The Gateway is programmed
Observed Generation: 1
Reason: Programmed
Status: True
Type: Programmed
```

Save the public IP address and port(s) of the Gateway into shell variables:

```text
GW_IP=XXX.YYY.ZZZ.III
Expand Down
Loading