Kube Proxy
En un cluster Kubernetes, todos los pods tienen acceso a todos los otros pods. Para viabilizar esta conectividad, una solución de red se despliega en el cluster Kubernetes, estableciendo una red virtual interna. Más adelante, exploraremos las diversas opciones disponibles para este fin.
Es importante destacar que no hay garantía de que la IP de un pod será siempre la misma, pues puede fallar y ser recreado por el Replication Controller con una IP diferente. Por esta razón, referenciamos los pods a través de services usando nombres, los cuales resuelven las IPs correspondientes. Es para esto que los services y sus endpoints existen, siendo gestionados por el Kube-Proxy.
Un service no se vincula directamente a un pod, pues es una entidad virtual que no posee interfaces ni un proceso de escucha activa. El service existe exclusivamente en la memoria de Kubernetes. El Kube-Proxy monitorea la creación de nuevos services y, siempre que un nuevo service es creado, configura las reglas apropiadas en cada nodo para enrutar el tráfico hacia los puertos correctos de los pods. Esto se realiza mediante el uso de iptables o ipvs.
El Kube-Proxy se ejecuta en cada nodo como un servicio o como pod, pero depende de la instalación.

Observe que, ejecutándose como pod, el controlador es un DaemonSet que garantiza un Kube-Proxy por nodo.
