Networking
medium

Networking Question #019e3a4f

Question Statement
Networking
#kubernetes
#networking
#pod
#nat
#service
Medium

Qual afirmação sobre o modelo de rede do Kubernetes está correta?

A

Pods só podem se comunicar com Pods expostos através de um Service.

B

Pods podem se comunicar com todos os Pods sem NAT.

Correct
C

O IP do Pod é visível apenas dentro de um Pod.

D

O IP do Service é usado para a comunicação entre Services.

Official Explanation / Community Explanations

O modelo de rede do Kubernetes determina que cada Pod recebe seu próprio endereço IP, e Pods em qualquer nó podem se comunicar com todos os outros Pods no cluster sem exigir tradução de endereços de rede (NAT). Este é um princípio fundamental de design para simplificar a rede e fazer com que os Pods se comportem como hosts virtuais ou máquinas físicas em uma rede plana.

Como funciona
O Kubernetes atribui um endereço IP único a cada Pod a partir de um espaço de endereço em todo o cluster (por exemplo, usando plugins CNI como Calico, Flannel ou Weave). O modelo de rede exige que:

  • Pods possam se comunicar com todos os outros Pods sem NAT.
  • Agentes em um nó (por exemplo, kubelet) possam se comunicar com todos os Pods nesse nó.
  • Pods no namespace de rede do host possam se comunicar com todos os Pods sem NAT.

Isso é alcançado configurando a rede de contêiner subjacente para rotear os IPs dos Pods diretamente, geralmente usando redes overlay ou protocolos de roteamento. O componente kube-proxy implementa abstrações de Service, mas não altera a comunicação fundamental Pod a Pod.

Por que a opção correta está certa
A afirmação "Pods podem se comunicar com todos os Pods sem NAT" reflete diretamente o requisito de rede do Kubernetes. A documentação oficial do Kubernetes afirma: "Todos os Pods podem se comunicar com todos os outros Pods sem usar NAT." Este é um princípio central do modelo, garantindo que os IPs dos Pods sejam roteáveis em todo o cluster.

Por que as opções incorretas estão erradas

  • "Pods só podem se comunicar com Pods expostos através de um Service" está incorreto porque os Pods podem se comunicar diretamente com qualquer outro Pod usando seu endereço IP, independentemente da existência de um Service. Os Services fornecem endpoints estáveis e balanceamento de carga, mas não são necessários para a comunicação Pod a Pod.
  • "O IP do Pod é visível apenas dentro de um Pod" é falso. Os IPs dos Pods são visíveis para outros Pods e nós dentro do cluster. Toda a rede do cluster pode alcançar o IP de um Pod diretamente.
  • "O IP do Service é usado para a comunicação entre Services" é enganoso. Os Services se comunicam com os Pods por meio de seus endpoints, não diretamente com outros Services. Os IPs dos Services são virtuais e usados por clientes (incluindo outros Pods) para acessar um conjunto de Pods, mas os Services em si não se comunicam entre si usando IPs de Services.