-
Notifications
You must be signed in to change notification settings - Fork 0
EN_K8s_Networking
somaz edited this page Mar 30, 2026
·
1 revision
In Kubernetes, a Service is an abstraction that defines a logical set of Pods and a policy by which to access them. The Service Type specifies how the Service is exposed to the network.
The main Service Types include:
- ClusterIP: This default service type provides a service only accessible within the cluster.
-
NodePort: Exposes the service on each Node's IP at a static port. You can contact the NodePort service from outside the cluster by requesting
<NodeIP>:<NodePort>. - LoadBalancer: Creates an external load balancer in the current cloud (if supported) and assigns a fixed, external IP to the service.
-
ExternalName: Maps the service to the contents of the
externalNamefield (e.g.,foo.bar.example.com), by returning a CNAME record with its value.
externalTrafficPolicy is an option of a Service of type LoadBalancer or NodePort that controls how the incoming traffic is routed. It can have two values: Cluster or Local.
- Cluster: The traffic is routed to any node, and if that node doesn't have a pod for the service, the traffic is forwarded to a node that does. This can cause an extra hop and might obscure the source IP address.
- Local: The traffic is only routed to the nodes that have the pod for the service. If the traffic hits a node without a pod, it's dropped, not forwarded. This preserves the original source IP address but can lead to uneven distribution of traffic across the pods.