Estou um pouco confuso com o uso de pontes de rede em configurações do docker / k8s.
Meu entendimento é que uma ponte de rede opera exclusivamente na camada 2 e é usada para combinar dois segmentos de rede em um único domínio de transmissão.
Ao ler sobre o docker / K8s, vejo as pontes de rede usadas para vincular a NIC do host (por exemplo, eth0) à NIC (veth0) interna do docker / pod, por exemplo, em um único host:
eth0 [192.168.1.100] <----> docker0(bridge)[172.17.0.1] <----> veth0 [172.17.0.2]
Meu primeiro ponto de confusão é que parece estranho ligar duas sub-redes separadas a um dispositivo de camada 2, não precisamos rotear da rede 192 ... para a 172 ... ou não importa? para a ponte operando apenas na camada 2? Por exemplo. não se importa com os endereços IP reais
Meu segundo pensamento é que, a julgar pela tabela de roteamento no meu host do docker, há uma rota definida para alcançar a rede 172.17.0.0:
172.17.0.0/16 dev docker0
então por que precisamos do dispositivo de ponte, o host não poderia apenas rotear os pacotes da eth0 diretamente para as NICs do contêiner docker?
Eu claramente sinto falta de algo aqui, então peça desculpas antecipadamente. Qualquer ajuda é muito apreciada.
Tags networking docker bridge