I'm trying to reduce the AWS ELB costs,
right now, on each LoadBalancer SVC i create inside the cluster, An ELB is created in AWS, and the external IP when doing kubectl get services
is internal-XXXXXX-YYY.eu-west-1.elb.amazonaws.com
, however, when creating an ingress they all get a single endpoint, and being played by the host in the ingress itself.
I couldnt find a way to create an internal only ingress, and thus using the same ELB for all, instead of creating an ELB for each LoadBalancer Service.
Is there are way doing it?
So I Found The solution for using one ingress for all internal loadbalancing and its...to use an ingress controller.
i userd nginx, and added to its loadbalancer service the annotation
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
i also suggest changing the ingress-class deifintion, in nginx-ingress it is done by modifying the arg:
--ingress-class=nginx-internal
you can read about it here