I run Kubernetes single-node dev cluster with several independent services — Nginx proxy with port 80 and elasticsearch with ports 9200. Is there any way to expose these services with ingress, to have entry point with one LoadBalancer IP? (x.x.x.x:80 and x.x.x.x:9200)
I read about ingress limitation, which can be accessed only with 80 and 443 port. But, maybe, exists some workarounds?
Thx for any advice
UPDATE
I solve my problem with creating several ingresses and utilize the same load balancer. But faced some issue with Nginx ingress, which cost me a lot of time. The simplest way to use my approach, is install ingress controller with helm and parametrize it with exposed services and ports
helm install ingress stable/nginx-ingress --set tcp.4445="default/nginx-proxy:4445" --set tcp.8888="default/demo:8888" --set tcp.19200="default/elasticsearch:19200"
During this process, will be created necessary resources, including configmaps with ports/services. Then we need only create ingress for each service. Take a note, that service must be ClusterIP.
But if later you want to expose some extra services and add everything manualy(create configmap, update ingress service, create ingress, even recreate nginx pod), i cant connect to service :(
So any changes(for me) leads to reinstalling all controller