쿠버네티스의 네트워크 프록시는 각 노드에서 실행되며, 쿠버네티스 API에 정의 된 서비스를 반영하는 역할을 수행한다.
⇒ netfilter는 rule-based 패킷 처리 엔진으로, kernel space에 위치하여 모든 오고가는 패킷의 생명주기를 관찰한다. 그리고 규칭에 매칭되는 패킷을 발견하면 미리 정의된 action을 수행한다. iptables는 이러한 netfilter를 사용해서 chain rule이라는 규칙을 지정하여 패킷을 포워딩하게 한다.
kube-proxy가 위 작업을 직접하게 되면 user space에서 kernel space로 변환이 요구되어 비용이 많이 발생하게 된다. 그래서 iptables 프록시 모드에서는 이러한 역할을 netfilter에게 맡기고 kube-proxy는 netfilter의 규칙을 수정하는 역할만 담당한다.