Services_Diagram
Service
s Diagram
Kubernetes latest versions starting in 1.11 uses the ipvs
proxy mode.
IPVS (IP Virtual Server) is built on top of the Netfilter and implements transport-layer load balancing as part of the Linux kernel. In ipvs
mode, kube-proxy
watches Kubernetes Services
and Endpoints
, calls netlink
interface to create IPVS rules accordingly and synchronizes IPVS rules with Kubernetes Services
and Endpoints
periodically. This control loop ensures that IPVS status matches the desired state. When accessing a Service
, IPVS directs traffic to one of the backend Pods.
IPVS provides more options for balancing traffic to backend Pods; these are:
rr
: round-robin
lc
: least connection (smallest number of open connections)
dh
: destination hashing
sh
: source hashing
sed
: shortest expected delay
nq
: never queue
IPVS mode is configured via --proxy-mode=ipvs
. It implicitly uses IPVS NAT mode for service port mapping.