Voltar para artigos
Artigo

Serviços e Networking no Kubernetes

19/11/2025
Guilherme Rossi Kirsten
3 min de leitura

Serviços são objetos que expõem um ou mais Pods, permitindo a comunicação interna ou externa, garantindo estabilidade mesmo quando Pods são reiniciado...

Serviços e Networking no Kubernetes

Serviços são objetos que expõem um ou mais Pods, permitindo a comunicação interna ou externa, garantindo estabilidade mesmo quando Pods são reiniciados ou substituídos.

O que são Serviços no Kubernetes?

  • Serviços são objetos que expõem um ou mais Pods, permitindo a comunicação interna ou externa
  • Eles garantem que, mesmo que os Pods sejam reiniciados ou substituídos, a comunicação continue funcionando através de um endereço IP estável e nome DNS estável

Objetivo dos Serviços

  • Permitir que diferentes componentes (front-end, back-end, banco de dados, APIs) se comuniquem
  • Expor o aplicativo para acesso externo (usuários, navegadores, clientes externos)
  • Realizar balanceamento de carga automático entre múltiplos Pods

Tipos de Serviços no Kubernetes

Tipo Descrição Acesso
ClusterIP Padrão. Exponibiliza o serviço apenas internamente no cluster. Interno
NodePort Exponibiliza o serviço em uma porta de cada nó do cluster. Externo (IP do nó + porta)
LoadBalancer Cria um balanceador de carga externo em provedores de nuvem (AWS, Azure, GCP, etc.). Externo (IP público)

NodePort

  • Permite acessar o serviço externamente via: http://:
  • A faixa padrão de portas NodePort: 30000-32767

Exemplo de Arquivo YAML para NodePort

apiVersion: v1
kind: Service
metadata:
  name: meu-servico-nodeport
spec:
  type: NodePort
  selector:
    app: meu-app
  ports:
    - port: 80 # Porta interna do serviço
      targetPort: 80 # Porta onde o container está escutando
nodePort: 30080 # Porta exposta no nó

Portas no Serviço

Termo Descrição
targetPort Porta do container/pod onde a aplicação escuta (ex.: 80)
port Porta interna do serviço dentro do cluster
nodePort Porta exposta no nó do cluster para acesso externo

ClusterIP

O que é um ClusterIP no Kubernetes?

Um aplicativo web full-stack geralmente é composto por múltiplos componentes:

  • Frontend Web
  • Backend (APIs)
  • Cache (ex.: Redis)
  • Banco de dados (ex.: MySQL)

Esses componentes precisam se comunicar entre si, porém os Pods possuem IPs dinâmicos, que mudam sempre que eles são reiniciados ou recriados. Portanto, não é viável conectar diretamente usando os IPs dos Pods.

Como resolver esse problema?

ClusterIP

  • Cria um IP virtual e um DNS interno dentro do cluster
  • Permite que os Pods se comuniquem entre si de forma estável, mesmo que seus IPs mudem
  • Não é acessível de fora do cluster (somente interno)

Exemplo de YAML de um Service ClusterIP

apiVersion: v1
kind: Service
metadata:
  name: image-processing
  labels:
    app: myapp
spec:
  type: ClusterIP
  selector:
    tier: backend
  ports:
    - port: 80
targetPort: 80
Ver todos os artigos