Pré-requisitos de Rede
Complete com esse conteúdo https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/ipvs/README.md
Não dá para falar sobre networking sem entender o básico de redes.
Interfaces
As interfaces são as placas de rede, físicas ou virtuais, do host. Podem ou não estar associadas a uma rede. Quando falamos de interfaces de rede, pode ser via cabo (Ethernet), wireless, etc.
Para listar os dispositivos podemos utilizar o comando:
ip link
Geralmente a placa de rede principal é a eth0. O meio físico não importa muito na nomenclatura da rede. Um cabo Ethernet ou fibra poderiam ser o meio físico da interface eth0.
Switch
Se dois computadores estão ligados na mesma rede, como eles se comunicam? Através do switch. Um switch serve para ligar dispositivo na MESMA REDE.

Para setar um ip em uma interface usamos o comando.
ip addr add IP/CIDR dev interface_name
Router
Se B precisa se conectar com C mas estão em redes diferentes, como se comunicam?

Quando precisamos comunicar duas máquinas em diferentes redes, um roteador entra em ação. A função do roteador é INTERLIGAR REDES.
Um roteador é outro servidor (geralmente um dispositivo dedicado que somente roda um Linux com esse propósito) com muitas interfaces, mas setadas em diferentes redes. Normalmente estas interfaces estão conectadas em diferentes switches.
Uma vez que eles estão ligados em diferentes redes, possuem IPs dentro dessas redes, geralmente o primeiro IP, que é chamado de gateway, mas poderia ser qualquer IP daquela rede.

Quando B precisa enviar pacote para C, como ele sabe onde o roteador está na rede?
Quando configuramos a rede em um dispositivo precisamos apontar quem é o gateway, que no caso será o roteador. O roteador é a porta de entrada e saída desta rede.
Se pensamos que a rede é um quarto o gateway é a porta.
O sistema precisa saber onde aquela porta vai dar. Saindo por aquele gateway eu posso chegar onde? Em quais redes?
É necessário ter essas configurações em cada sistema operacional.
Para ver essa informação podemos somente rodar o comando route.
# Esse é um comando na minha própria máquina
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default unifi.localdoma 0.0.0.0 UG 100 0 0 enx00e04c6810f3
default unifi.localdoma 0.0.0.0 UG 600 0 0 wlp0s20f3
10.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enx00e04c6810f3
10.0.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp0s20f3
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 enx00e04c6810f3
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-93a4fed73578
172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-56339616a3bf
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Se não existir nenhuma rota não é possível ter acesso a nada a não ser a sua própria rede.
Na máquina B se executarmos o comando.
ip route add 192.168.2.0/24 via 192.168.1.1
Estamos dizendo a ela que para chegar na rede 192.168.2.0/24 precisamos sair pelo IP 192.168.1.1 que é o IP do roteador, mas não sabemos se o roteador chegará na rede que queremos. No nosso caso aqui nós sabemos.
As rotas precisam ser conhecidas por todos os dispositivos da rede, não adianta um saber e outro não, mas vamos imaginar que todo mundo sabe.
Se o roteador esta conectado na Internet poderíamos ter uma rota para cada site.

Mas isso não é viável, logo tudo que não sabemos colocamos o ip 0.0.0.0/0.
Para simplificar ainda mais, podemos ter somente uma rota default. Na rede 192.168.2.1 podemos simplesmente dizer que tudo sai por um gateway para simplificar a tabela.

Da mesma maneira, quando estamos na mesma rede usamos o 0.0.0.0 para dizer que não precisamos de um gateway, pois estamos na mesma rede. A imagem abaixo está mostrando o host C.

Se tivéssemos esse cenário com mais de um gateway teríamos que ter duas entradas.

Se uma máquina não está conseguindo se comunicar com outra, conferir as rotas é um bom lugar para iniciar um troubleshooting.
Agora vamos pensar na visão do roteador. Vamos colocar o roteador sendo um hostB ligado em duas redes (X e Y) como faríamos a comunicação de um hostA na rede X para um hostC na rede Y através deste hostB que conhece ambas?

Definimos em hostA e hostC as rotas através do gateway para o ip do hostB.

Ainda assim não conseguimos a comunicação, apesar de conhecer a rota. Nesse caso não recebemos respostas no ping, certo?
Se fosse simples assim, já pensou em quantos ataques tomaríamos? Então é só mirar no lugar certo que tudo estará resolvido?
No Linux uma interface não é autorizada a encaminhar pacotes para outra interface por default. A regra padrão é negar tudo e habilitar somente o que precisamos.
Para isso é necessário alterar algumas configurações no sistema.
cat /etc/sysctl.conf
...
net.ipv4.ip_forward=1 # O padrão é 0, setar para 1
...
Se estiver se lembrando, isso é um dos requisitos que precisam ser feitos em qualquer nó do Kubernetes.