Kubernetes Ingress Nginx without loadbalancer
search cancel

Kubernetes Ingress Nginx without loadbalancer

book

Article ID: 199668

calendar_today

Updated On: 09-17-2020

Products

DX Operational Intelligence

Issue/Introduction

 

Trying to install Dx OI 20.2, with no loadbalancer available.

After setup of ingress-nginx , this is standard configured as NodePort, which means it only responds to the node ip with port.

In DNS, the wildcard domain points to the ip address of the node that has the ingress-nginx controller running. However, the port can't be added to the dns entry, which means the wildcard domain gets no response.

How to create a setup for this scenario where the nginx responds to the ip address of the node it's residing on?

[root@master ~]# kubectl get po -n ingress-nginx  -o wide
NAME                                        READY   STATUS      RESTARTS   AGE   IP          NODE           NOMINATED NODE   READINESS GATES
ingress-nginx-admission-create-hd48g        0/1     Completed   0          72m   10.0.0.1   node2   <none>           <none>
ingress-nginx-admission-patch-62drc         0/1     Completed   0          72m   10.0.0.2   node2   <none>           <none>
ingress-nginx-controller-84cb46fccd-xcvlw   1/1     Running     0          72m   10.0.0.3   node2   <none>           <none>


[root@ict-oi-master ~]# kubectl -n ingress-nginx get svc
NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx-controller             NodePort    10.99.122.55    <none>        80:30284/TCP,443:30307/TCP   59m
ingress-nginx-controller-admission   ClusterIP   10.106.94.255   <none>        443/TCP                      59m

The docs assume a loadbalancer, unable to understand how to set this up without one.

Environment

Release : 20.2

Component : CA DOI AO PLATFORM COMPONENTS

Resolution

 

Edit the ingress-nginx service and mention the nodePort number in place 80.

Save and Exit.
The port will be accessible, see with netstat -tulnp command.

It can also be changed in port settings in the nginx controller settings map