0Pricing
DevOps Bootcamp · Aula

Expondo aplicações com serviços

Entenda o papel dos serviços ao fornecer endpoints de rede estáveis para os pods.

Expondo aplicações com serviços é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Pods: aqui hoje, gone amanhã

No Kubernetes, os Pods são as menores unidades implementáveis. Eles são projetados para ser temporários e podem ser criados, destruídos ou movidos pelo Kubernetes a qualquer momento.

Essa flexibilidade é excelente para a resiliência, mas cria um desafio: como outros aplicativos podem encontrar e se comunicar de forma confiável com esses Pods em constante mudança?

O problema do alvo móvel

Cada Pod recebe seu próprio endereço IP. Quando um Pod é reiniciado ou tem sua escala alterada, geralmente recebe um novo endereço IP. Conectar-se diretamente ao IP de um Pod é como tentar atingir um alvo móvel!

Imagine um aplicativo web com vários Pods. Se um Pod for reiniciado, seu IP mudará, interrompendo as conexões de outros serviços ou usuários.

Os Serviços vêm ao resgate!

É aqui que entram os Serviços do Kubernetes! Um Serviço fornece um ponto de acesso de rede estável e fixo para um conjunto de Pods.

Pense nele como um endereço permanente para seu aplicativo, mesmo que os Pods por trás dele estejam constantemente alterando seus endereços individuais.

Um gateway estável para os Pods

Um Serviço atua como uma camada de abstração sobre um grupo de Pods. Ele fornece a eles um único endereço IP e um nome DNS consistentes.

  • Outros aplicativos usam o IP ou nome estável do Serviço.
  • O Serviço então encaminha o tráfego para os Pods saudáveis que gerencia.
  • Isso desacopla os clientes dos IPs individuais dos Pods.

Conectando Serviços aos Pods

Como um Serviço sabe para quais Pods encaminhar o tráfego? Ele usa rótulos e seletores!

Ao definir um Serviço, você especifica um selector. Qualquer Pod que corresponda a esses rótulos será automaticamente incluído no grupo desse Serviço.

Essa associação dinâmica significa que novos Pods são adicionados automaticamente e Pods não saudáveis são removidos.

Direcionando o tráfego de rede

Os Serviços gerenciam o fluxo do tráfego de rede. Eles definem portas para mapear as solicitações recebidas para as portas corretas nos seus Pods.

Principais conceitos de portas:

  • port: a porta na qual o próprio Serviço escuta.
  • targetPort: a porta no Pod para a qual o Serviço encaminha o tráfego.

Criando um manifesto de Serviço

Assim como a maioria dos recursos do Kubernetes, os Serviços são definidos usando arquivos YAML. Veja a estrutura básica:

  • apiVersion: v1
  • kind: Service
  • metadata: nome, rótulos
  • spec: contém a definição principal, incluindo selector e ports.

Seu primeiro Serviço: ClusterIP

O tipo de Serviço mais comum para comunicação interna é o ClusterIP. Ele expõe o Serviço em um endereço IP interno dentro do cluster.

Veja um exemplo de um aplicativo web simples:

apiVersion: v1
kind: Service
metadata:
  name: my-web-service
spec:
  selector:
    app: my-webapp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP

Implementando seu Serviço

Depois de criar o YAML do seu Serviço, você poderá implementá-lo no cluster usando kubectl, assim como faz com Pods ou implantações.

Este comando instrui o Kubernetes a criar o Serviço com base na sua definição:

kubectl apply -f service.yaml

Usando seu novo Serviço

Após a implementação, seu Serviço receberá um IP estável e um nome DNS dentro do cluster. Outros Pods poderão acessar seu aplicativo usando esse nome.

Por exemplo, outro Pod poderia se conectar a my-web-service:80, e o Serviço encaminharia o tráfego para os Pods corretos de my-webapp.

Verificação dos Serviços

Você aprendeu como os Serviços do Kubernetes fornecem acesso de rede estável a Pods dinâmicos.

Qual das opções a seguir descreve melhor a função principal de um Serviço do Kubernetes?

Recapitulação: conexões estáveis

Parabéns! Nesta lição, exploramos os Serviços do Kubernetes.

  • Os Pods são efêmeros e têm IPs dinâmicos.
  • Os Serviços fornecem pontos de acesso de rede estáveis para os Pods.
  • Eles usam seletores para encontrar os Pods de destino.
  • Os Serviços mapeiam a port externa para a targetPort interna.
  • ClusterIP é um tipo comum para comunicação interna.

A seguir, exploraremos com mais detalhes os diferentes tipos de Serviços e seus usos!

Perguntas Frequentes

A aula “Expondo aplicações com serviços” é grátis?

Sim — o texto completo de “Expondo aplicações com serviços” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Expondo aplicações com serviços”?

Entenda o papel dos serviços ao fornecer endpoints de rede estáveis para os pods. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Expondo aplicações com serviços”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Expondo aplicações com serviços
  2. Tipos de serviço: ClusterIP, NodePort, LoadBalancer
  3. Ingress para acesso externo
  4. DNS e descoberta de serviços
← Voltar para DevOps Bootcamp