I have installed my kubernetes cluster on Jelastic. Now, I tried to define a service of LoadBalancer
type and would like it to be provided with an external IP. The external IP is currently marked as pending
. What should I do to make it non-pending? Do I have to provide the worker nodes with an external IPv4?
In my current setup, my worker nodes have no IPv4 because I put an nginx load-balancer in front of the cluster:
The IPv4 is set on the nginx node. Is that a problem? If I want to access my loadbalancer service inside of my kubernetes cluster, what should I do?
2
Answers
For
LoadBalancer
service type to work, the cloud provider must implemenet the relevant APIs to get it to work.With regard to
Jelastic
, as per their docs, they don’t support it https://docs.jelastic.com/kubernetes-exposing-services/:In Jelastic Public IP addresses have to be attached to worker nodes.
Every worker node has ingress controller instance running (based oт nginx/haproxy/traefik) with http/https listeners that can forward traffic to the required service.
You have just to bind your domain as CNAME to Environment FQDN and every your worker node can accept requests in RR-DNS mode.
Does this scenario works for you or you have a specific requirement to use external load balancer?
By default, when Public IPs are not attached to worker instances the traffic is going through the Shared Load Balancer.
P.S. If you install Certification Manager Addon to your K8s cluster – you can also issue free Let’s Encrypt certificates.