ANÚNCIO

~/questoes/devops

Qual é a função de um Service no Kubernetes?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência O mínimo que você precisa saber sobre Kubernetes
Para fixar

Service no Kubernetes: Expondo e balanceando sua aplicação

Conceito central

Um Service é um objeto Kubernetes que expõe uma aplicação fornecendo um endereço IP estável e balanceando o tráfego entre múltiplos Pods. Ele atua como um intermediário entre os clientes e os Pods, eliminando a necessidade de conhecer o endereço de cada Pod individualmente.

Por que essa resposta faz sentido

Um Service funciona como um load balancer que gerencia o acesso a uma aplicação. Ele atribui um IP fixo ao conjunto de Pods e distribui automaticamente as requisições entre eles, garantindo que a aplicação permaneça acessível mesmo quando Pods são criados ou destruídos.

Armadilhas comuns

  • Confundir Service com Deployment: o Deployment cria e gerencia Pods, enquanto o Service os expõe e balanceia tráfego entre eles.
  • Acreditar que Service gerencia dados de configuração: isso é feito por ConfigMaps e Secrets, não por Service.
  • Pensar que Service monitora a saúde dos Pods: monitoramento é feito por ferramentas externas; Service apenas roteia tráfego para Pods saudáveis.

Entenda as alternativas

A

Monitorar desempenho e gerar alertas é função de ferramentas de observabilidade como Prometheus ou Grafana, não do Service. O Service é responsável pela exposição e balanceamento, não pela coleta de métricas.

B

Armazenar configurações de forma segura é tarefa do ConfigMap (para dados públicos) e do Secret (para dados sensíveis). O Service não gerencia variáveis de ambiente, apenas direciona tráfego de rede.

C

Gerenciar versões de contêineres e fazer rollback é responsabilidade do Deployment. O Service não controla versionamento; ele apenas expõe a aplicação que já está sendo gerenciada por outro objeto.

D

Esta é a função principal do Service. Ele expõe aplicações através de um endereço IP estável e balanceia tráfego entre os Pods, funcionando como load balancer interno (ClusterIP) ou externo (LoadBalancer, NodePort).

Dica prática: Na prática, sempre crie um Service quando quiser que sua aplicação seja acessível. Se tem um Deployment com 3 replicas de Pods, um Service vai garantir que as requisições sejam distribuídas entre os 3, sem você precisar conhecer o IP de cada um.

Revise pensando: Se um Pod cai e é recriado com um IP novo, o que garante que sua aplicação continua acessível no mesmo endereço?