$linuxjunkies
>

kube-proxy

A Kubernetes network proxy that runs on each node to maintain network rules, enabling communication between pods and external traffic routing. It acts as the networking layer for the cluster.

kube-proxy is a critical Kubernetes component deployed as a DaemonSet on every node in the cluster. It watches the Kubernetes API for changes to Service and Endpoint objects, then programs the node's network to implement those rules using iptables, IPVS, or userspace proxying.

When a pod sends traffic to a Service IP, kube-proxy intercepts that traffic and translates it to the actual backend pod IP. For example, if you create a Service targeting three replicas of a web application, kube-proxy distributes incoming requests across those pods using load-balancing rules.

It handles both ClusterIP (internal) and NodePort/LoadBalancer (external) Services, and works transparently without requiring application changes. Different operating systems and cluster configurations can use different backend modes—modern clusters typically prefer IPVS for better performance with many Services.

Related terms