0

I have set up a k8s cluster using AKS. This cluster is private and I want to use an internal load balancer with an NGINX ingress controller to expose my applications.

I have installed the NGINX ingress controller using Helm with this command:

helm install ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-nginx --create-namespace --set controller.service.loadBalancerIP=10.11.32.226 --set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-internal"=true

According to the documentation, once the ingress is set up, I should be able to browse to the IP address of the load balancer (10.11.32.226) and see a 404 Nginx page.

However, when I try to do that, I get no response from the server. When I describe the nginx controller service, I see that it has an external IP of 10.11.32.226 and an endpoint IP of 10.11.32.116.

The strange thing is that when I browse to the endpoint IP (10.11.32.116), I can see the expected page (404 - Nginx)

What is going wrong here? Why can't I access the ingress controller using the load balancer IP? Is this normal? If I should use the endpoint IP instead of the load balancer IP, how can I assign a static IP to it as it is dynamic currently?

Any help or guidance would be appreciated. Thanks in advance.

marcel h
  • 742
  • 1
  • 7
  • 20
  • Hey, do you mean the `LoadBalancer`'s `ClusterIP` by load balancer IP and how do you request the server response? The `ClusterIP` would only be accessible within the cluster, i.e., if you, for example, `curl` from a different container. – marcel h Aug 17 '23 at 10:22

0 Answers0