A ClusterIP service is the default Kubernetes service. It gives you a service inside your cluster that other apps inside your cluster can access. There is no external access.
1. You can only have one service per port 2. You can only use ports 30000-32767 3. You need to track which node have pods with exposed ports
Don't recommand using this method in production to directly expose your service.
LoadBalancer
A LoadBalancer service is the standard way to expose a service to the interne.
1
Traffic on the port you specify will be forwarded to the service. There isno filtering, no routing, etc. This means you can send almost any kind of traffic to it. like HTTP, TCP, UDP, Websockets, gRPC, or whatever.
Ingress - L7 HTTP Load Balancer
Ingress is not a type of service, Instead, it sits in front of multiple services and act as a “smart router” or entrypoint into your cluster.