When you install the nginx Ingress Controller, our system automatically creates a Load Balancer. This Load Balancer acts as an entry point for incoming traffic. When traffic arrives, the Load Balancer forwards it to the Ingress Controller. The Ingress Controller is responsible for routing the traffic to the appropriate services within your Managed Kubernetes cluster based on the rules defined in the Ingress manifests.

Step 1. Install helm

Using Helm package manager simplifies the process of deploying, managing, and scaling applications on Kubernetes.

The following sections contain instructions for installing Helm on Windows, Ubuntu, and macOS. For more installation options, check out the official installing Helm guide.

1. In the Terminal, run the official Helm installation script:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

This command will download and install the latest version of Helm and place the Helm binary in /usr/local/bin/helm (or another location based on your system’s configuration).

2. Verify that Helm was installed successfully by checking its version: helm version. You should get the installed version of Helm.

Step 2. Create a namespace

Run the following kubectl command to create a namespace:

kubectl create namespace ingress-nginx

Step 3. Add helm repository for the nginx controller

Run the following command to add the helm repository for the nginx Ingress Controller:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

Step 4. Update helm repository

Update data in the helm repository:

helm repo update

Step 5. Install nginx Ingress controller

Run the following command:

helm install ingress-nginx ingress-nginx/ingress-nginx \

\--namespace ingress-nginx \

\--set controller.ingressClassResource.name=nginx

After the nginx Ingress Controller is installed, it will automatically create a Load Balancer on your behalf.

Step 6. Get an IP of a load balancer

To get the IP address of the created Load Balancer, execute the command below:

watch kubectl -n ingress-nginx get svc

Wait until the <pending> state of the EXTERNAL-IP column changes to the IP address.

The Load Balancer will be shown in the Gcore Customer Portal on the Load Balancers page. The traffic will reach the nginx Ingress Controller via this balancer.