Kube-proxy is process running on each node in cluster. It looks for new services and everytime a new service is creacted it cretaes new rules on each node to forward traffic to those services to backend pods. It can do this by iptable rukes.
Kubeadm installs kube=proxy as demonset oas pod on each node. It can be installed using the binaries while manuall installation.