Orquestração de Contêineres
medium

Orquestração de Contêineres Question #019e3a4f

Question Statement
Orquestração de Contêineres
#kubernetes
#service
#networking
#expose
Medium

Qual é o nome do recurso Kubernetes usado para expor uma aplicação?

A

Porta

B

Service

Correct
C

DNS

D

Deployment

Official Explanation / Community Explanations

No Kubernetes, um Service é o recurso usado para expor uma aplicação em execução em um conjunto de Pods como um serviço de rede. Os Services fornecem um endereço IP estável e um nome DNS, permitindo balanceamento de carga e descoberta de serviços dentro do cluster.

Como Funciona

Um Service define um conjunto lógico de Pods e uma política para acessá-los. Ele usa um seletor para segmentar Pods com rótulos específicos. Quando um Service é criado, o Kubernetes atribui um IP virtual (ClusterIP) e um nome DNS (por exemplo, meu-servico.namespace.svc.cluster.local). O tráfego para o Service é balanceado entre os Pods selecionados.

Por que o Valor Correto está Certo

  • Service é o recurso Kubernetes correto para expor aplicações. Ele abstrai os IPs subjacentes dos Pods e fornece um endpoint consistente. Os Services podem ser de diferentes tipos: ClusterIP (interno), NodePort (expõe no IP de cada nó), LoadBalancer (balanceador de carga externo) e ExternalName (mapeia para um nome DNS externo).

Por que os Valores Incorretos estão Errados

  • Porta não é um recurso Kubernetes; é um campo dentro de uma especificação de Service ou Pod que define o número da porta de rede. Por exemplo, uma especificação de Service inclui ports para mapear o tráfego de entrada para as portas de destino nos Pods.
  • DNS é um sistema de resolução de nomes, não um recurso. O Kubernetes tem um serviço DNS embutido (kube-dns ou CoreDNS) que cria automaticamente registros DNS para Services, mas o DNS em si não é o recurso que expõe uma aplicação.
  • Deployment é um recurso que gerencia conjuntos de réplicas e fornece atualizações declarativas para Pods, mas não os expõe ao tráfego de rede. Um Deployment garante que um número desejado de Pods esteja em execução, mas um Service é necessário para tornar esses Pods acessíveis.

Em resumo, enquanto Deployments gerenciam Pods, Services os expõem. Portas e DNS são componentes usados em conjunto com Services, mas o recurso em si é o Service.