Skip to content

Commit

Permalink
[Doc] Update Helm chart instructions to avoid UX friction when using …
Browse files Browse the repository at this point in the history
…Kind (#1281)

For kind clusters, NodePort services require extra configuration and LoadBalancer services need a third-party controller like MetalLB for external IP assignment. However, the Helm chart creates a LoadBalancer service by default. Therefore, the --wait flag will hang until timeout.

The guide running-on-kind.md asks users to create a Kind cluster by running the make create-kind-cluster command. However, the command neither sets the extraPortMappings Kind configs nor installs MetalLB, so users cannot use NodePort and LoadBalancer directly after running the command.

This PR suggests users disable the creation of NodePort / LoadBalancer Kubernetes service, and uses the port-forwarding command from the running-on-kind.md guide.

---------

Co-authored-by: Saylor Berman <s.berman@f5.com>
Co-authored-by: Alan Dooley <ADubhlaoich@users.noreply.github.com>
  • Loading branch information
3 people authored Dec 4, 2023
1 parent 394aaa5 commit 6bc90a8
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions site/content/installation/running-on-kind.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ make create-kind-cluster

Follow the [installation](./how-to/installation/installation.md) instructions to deploy NGINX Gateway Fabric on your Kind cluster.

{{<note>}} For `kind` clusters, NodePort services require [extra configuration](https://kind.sigs.k8s.io/docs/user/configuration/#nodeport-with-port-mappings) and LoadBalancer services need [a third-party controller](https://kind.sigs.k8s.io/docs/user/loadbalancer/) like MetalLB for external IP assignment. However, the Helm chart creates a LoadBalancer service by default. To avoid this, you can disable service creation by adding `--set service.create=false` to your Helm command and use the port-forwarding command below instead to try out the examples. {{</note>}}

## Access NGINX Gateway Fabric

Forward local ports 8080 and 8443 to ports 80 and 443 of the nginx-gateway Pod:
Expand All @@ -33,8 +35,8 @@ Forward local ports 8080 and 8443 to ports 80 and 443 of the nginx-gateway Pod:
kubectl -n nginx-gateway port-forward <pod-name> 8080:80 8443:443
```

> Note: NGINX will not listen on any ports until you configure a
> [Gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/#gateway) resource with a valid listener.
{{<note>}} NGINX will not listen on any ports until you configure a [Gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/#gateway) resource with a valid listener. {{</note>}}


## Use NGINX Gateway Fabric

Expand Down

0 comments on commit 6bc90a8

Please sign in to comment.