Failed to install ingress controller

Hi

I’m new to k8s at all.

I added a new cluster to rancher server with 3 modes (one master, two worker). I disabled the default nginx-ingress-controller because I want to install my own one.

So, via another chart (https://charts.bitnami.com/bitnami) I tried to install nginx-ingress-ctrl but the log states:

helm install --namespace=ara-system --timeout=10m0s --values=/home/shell/helm/values-nginx-ingress-controller-7.6.6.yaml --version=7.6.6 --wait=true nginx-ing-ctrl /home/shell/helm/nginx-ingress-controller-7.6.6.tgz
creating 10 resource(s)
beginning wait for 10 resources with timeout of 10m0s
Service does not have load balancer ingress IP address: ara-system/nginx-ing-ctrl-nginx-ingress-controller
Service does not have load balancer ingress IP address: ara-system/nginx-ing-ctrl-nginx-ingress-controller
Service does not have load balancer ingress IP address: ara-system/nginx-ing-ctrl-nginx-ingress-controlle

What does that mean “Service does not have load balancer ingress IP address”.
What is required here to get it up and running?

Thx

There is no generic implementation of LoadBalancer services, so they do nothing by default unless you have a Cloud Provider or another controller like MetakLB or kube-vip installed to provide them.

That is apparently not the case in your cluster, so it’s waiting for a balancer to be provisioned that isn’t coming.

This is also why the default ingress setup uses a HostPort instead of a LoadBalancer.

@vincent
Hi Vicent

How do I install an additional ingress controller or how do I define a load balancer in order to install additional ingress controller.

Thx

Depending on what and where you’re creating, most kinds of clusters already come with either traefik or nginx configured as an ingress. To install another you follow their docs because it is no longer part of Rancher.

Again depending, most kinds of clusters do not come with an implementation of LoadBalancers. Some of the hosted kubernetes-as-a-service providers (e.g. GKE) do. Some infrastructure-as-a-service providers (e.g. EC2) have a Cloud Provider you can configure when creating the cluster to enable them. Our k3s distro comes with a very simple implementation so that they do something out of the box. Otherwise you deploy your own (e.g. kube-vip and MetalLB) after the cluster is setup by following their instructions.