I am quite confused about the roles of Ingress and Load Balancer in Kubernetes.
As far as I understand Ingress is used to map incoming traffic from the internet to t
Pods have their own IP:PORT but it is dynamic in nature and changes if deleted or redeployed.
Services are assigned ClusterIPor NodePort(a port in a VM where service resource is created) which can be mapped to set of pods or other backend [see: headless services]
To access correct Pod use ClusterIP(from within clutser)
NodePort can be used to access pods from outside of the cluster
LoadBalancer[External/Internal]: provided by cloud providers points to either ClusterIP or NodePort. You can access the service by using LB's IP
LB ~> SERVICE(ClusterIP or NodePort) ~> POD
Ingress resource is an entrypoint to cluster.A LB can listen to ingress rules and can route to specific service.[see this example]
LB(Ingress-managed) ~> SERVICE(ClusterIP or NodePort) ~> POD