diff --git a/site/content/installation/running-on-kind.md b/site/content/installation/running-on-kind.md index 38f97fc91..599c123d6 100644 --- a/site/content/installation/running-on-kind.md +++ b/site/content/installation/running-on-kind.md @@ -1,43 +1,61 @@ --- -title: "Running on kind" -description: "Learn how to run NGINX Gateway Fabric on a kind cluster." +title: "Deploying NGINX Gateway Fabric on a kind Cluster" +description: "Learn how to run NGINX Gateway Fabric on a kind (Kubernetes in Docker) cluster." weight: 300 toc: true docs: "DOCS-000" --- +{{< custom-styles >}} + ## Prerequisites -- [kubectl](https://kubernetes.io/docs/tasks/tools/) -- [kind](https://kind.sigs.k8s.io/) +To complete the steps in this guide, you first need to install the following tools for Kubernetes management and development: -## Prepare Cluster +- [kubectl](https://kubernetes.io/docs/tasks/tools/): A command-line interface for Kubernetes that allows you to manage and inspect cluster resources, and control containerized applications. +- [kind](https://kind.sigs.k8s.io/): Short for _Kubernetes in Docker_, this tool lets you run Kubernetes clusters locally using Docker containers, ideal for testing and development purposes. -Create a cluster with `kind`. You can follow -their [instructions](https://kind.sigs.k8s.io/docs/user/quick-start/#creating-a-cluster), or run the following make -command at the root of the repository: -```makefile -make create-kind-cluster -``` +## Create a kind Cluster + +To create a kind cluster, choose from the following options: + +- **Option 1**: Use the `kind` tool. For detailed instructions, refer to the kind quick start guide [Creating a Cluster](https://kind.sigs.k8s.io/docs/user/quick-start/#creating-a-cluster). + +- **Option 2**: Run the following `make` command in the root of your repository: + + ```makefile + make create-kind-cluster + ``` + + This command creates a kind cluster using the settings from your Makefile. + ## Deploy NGINX Gateway Fabric -Follow the [installation](./how-to/installation/installation.md) instructions to deploy NGINX Gateway Fabric on your Kind cluster. +Now that you've created a kind cluster, the next step is to install NGINX Gateway Fabric. + +To install NGINX Gateway Fabric, choose the appropriate installation guide that suits your setup: -{{}} 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. {{}} +- [Installation with Helm]({{< relref "installation/installing-ngf/helm.md" >}}) +- [Installation with Kubernetes manifests]({{< relref "installation/installing-ngf/manifests.md" >}}) -## Access NGINX Gateway Fabric +{{}} +When using kind clusters, be aware that NodePort services require [additional setup](https://kind.sigs.k8s.io/docs/user/configuration/#nodeport-with-port-mappings). Also, for LoadBalancer services, you’ll need a [third-party controller](https://kind.sigs.k8s.io/docs/user/loadbalancer/) like MetalLB to assign external IPs. The default Helm chart creates a LoadBalancer service; however, you can disable this by adding `--set service.create=false` to your Helm command. Afterward, you can [configure port forwarding](#configure-port-forwarding) as described below to access the examples. +{{}} -Forward local ports 8080 and 8443 to ports 80 and 443 of the nginx-gateway Pod: +## Configure Port Forwarding {#configure-port-forwarding} + +Once NGINX Gateway Fabric has been installed, you need to configure port forwarding from local ports **8080** and **8443** to ports **80** and **443** on the **nginx-gateway** Pod. + +To configure port forwarding, run the following command: ```shell kubectl -n nginx-gateway port-forward 8080:80 8443:443 ``` -{{}} 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 only start listening on these ports after you set up a [Gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/#gateway) resource with a valid listener.{{}} -## Use NGINX Gateway Fabric +## Getting Started with NGINX Gateway Fabric -To get started, follow the tutorials in the [examples](../examples) directory. +Learn how to use NGINX Gateway Fabric by exploring the tutorials in the [examples](https://github.com/nginxinc/nginx-gateway-fabric/tree/main/examples) directory. The guides provide practical instructions and scenarios to help you use NGINX Gateway Fabric effectively.