Kubernetes Networking
medium

Kubernetes Networking Question #019e3a4f

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

No Kubernetes, qual abstração define um conjunto lógico de Pods e uma política para acessá-los?

A

Service Account

B

NetworkPolicy

C

Service

Correct
D

Custom Resource Definition

Official Explanation / Community Explanations

No Kubernetes, um Service é uma abstração que define um conjunto lógico de Pods e uma política para acessá-los. Os Services fornecem endpoints de rede estáveis para Pods, que são efêmeros e podem ser criados ou destruídos dinamicamente. Um Service seleciona Pods com base em labels e fornece acesso balanceado a eles, tipicamente via um ClusterIP (IP virtual interno) ou outros tipos como NodePort ou LoadBalancer.

Como Funciona

  • Um Service usa um label selector para identificar os Pods que ele almeja. Quando os Pods correspondem ao selector, eles se tornam endpoints do Service.
  • O Service cria um endereço IP estável (ClusterIP) e um nome DNS dentro do cluster, permitindo que outros componentes alcancem os Pods sem precisar rastrear IPs individuais de Pods.
  • O tráfego para o Service é balanceado entre os Pods selecionados usando kube-proxy, que implementa regras (ex.: iptables ou IPVS) em cada nó.

Por que a Resposta Correta está Certa

  • Service cumpre diretamente a definição: ele agrupa logicamente Pods e fornece uma política de acesso consistente (ex.: ClusterIP, NodePort, LoadBalancer). É a abstração central para expor aplicações executando em Pods.

Por que as Respostas Incorretas estão Erradas

  • Service Account: Esta é uma identidade para Pods se autenticarem com o servidor de API do Kubernetes, não uma abstração de rede para acessar Pods.
  • NetworkPolicy: Define regras para tráfego de entrada e saída entre Pods e endpoints de rede, mas não define um conjunto lógico de Pods nem fornece um endpoint de acesso estável. É um recurso de segurança, não um mecanismo de descoberta de serviço.
  • Custom Resource Definition (CRD): Permite que usuários estendam a API do Kubernetes com recursos personalizados, mas não é uma abstração embutida para agrupar Pods ou definir políticas de acesso. CRDs são usados para criar novos tipos de recursos, não para gerenciar rede de Pods.