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.