Serviços para acesso à rede
Exponha suas aplicações dentro e fora do cluster usando diferentes tipos de serviços do Kubernetes.
Serviços para acesso à rede é uma aula grátis de Docker & DevOps Fundamentals no CoddyKit. Esta é a aula 2 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 Docker & DevOps Fundamentals, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Docker & DevOps Fundamentals inclui 4 aulas no total.
O que é um Serviço do Kubernetes?
No Kubernetes, os pods são as menores unidades implantáveis. Eles são projetados para serem efêmeros, o que significa que podem ser criados, excluídos ou substituídos a qualquer momento, geralmente recebendo novos endereços IP.
Essa natureza dinâmica dificulta que outras aplicações os encontrem e se comuniquem com eles de maneira confiável. É aí que entram os Serviços!

Fornecendo acesso estável à rede
Um Serviço do Kubernetes funciona como um ponto de acesso de rede estável para um conjunto de pods. Pense nele como um endereço permanente que não muda, mesmo que os pods por trás dele mudem.
- Os Serviços fornecem um endereço IP e um nome DNS consistentes.
- Eles podem distribuir a carga de tráfego entre vários pods.
- Eles garantem disponibilidade contínua à medida que os pods são escalados ou reiniciados.
Conectando pods a Serviços
Como um Serviço sabe para quais pods encaminhar o tráfego? Ele usa rótulos e seletores.
Ao criar pods, você atribui rótulos a eles (pares de chave e valor, como app: my-app). Em seguida, um Serviço especifica um seletor que corresponde a esses rótulos, criando um vínculo dinâmico.
Acesso interno com ClusterIP
O ClusterIP é o tipo de Serviço padrão e mais comum. Ele atribui um endereço IP interno estável dentro do cluster do Kubernetes. Esse IP só pode ser acessado por outros pods ou nós dentro do cluster.
Ele é perfeito para Serviços de backend (como um banco de dados ou uma API) que precisam se comunicar apenas com outros Serviços dentro da sua aplicação.
Definindo um Serviço ClusterIP
Esta é uma definição YAML simples de um Serviço ClusterIP. Observe o selector correspondente ao rótulo app: my-backend e como port é associado a targetPort.
apiVersion: v1
kind: Service
metadata:
name: my-backend-service
spec:
selector:
app: my-backend
ports:
- protocol: TCP
port: 80
targetPort: 8080 # Port your application listens on
type: ClusterIPAcesso externo com NodePort
Um Serviço NodePort expõe sua aplicação em uma porta estática no endereço IP de cada nó. Isso torna o Serviço acessível de fora do cluster usando o IP de qualquer nó e a porta especificada.
O valor de nodePort normalmente fica no intervalo de 30000 a 32767. Ele é útil para acesso externo simples ou ambientes de desenvolvimento.
Definindo um Serviço NodePort
Para expor seu Serviço externamente por meio de um NodePort, defina type: NodePort. Opcionalmente, você pode especificar um nodePort; caso contrário, o Kubernetes escolherá um para você.
apiVersion: v1
kind: Service
metadata:
name: my-frontend-service
spec:
selector:
app: my-frontend
ports:
- protocol: TCP
port: 80
targetPort: 80 # Port your application listens on
nodePort: 30080 # Optional: specific port on the Node
type: NodePortBalanceadores de carga na nuvem
O tipo de Serviço LoadBalancer foi projetado para ambientes de nuvem. Quando você cria esse tipo de Serviço, seu provedor de nuvem (como AWS, GCP ou Azure) provisiona automaticamente um balanceador de carga externo.
Esse balanceador de carga recebe um endereço IP público e encaminha o tráfego externo diretamente para seus pods, geralmente com recursos avançados, como terminação de SSL.
Definindo um Serviço LoadBalancer
Para aplicações públicas em um cluster Kubernetes na nuvem, LoadBalancer é a escolha ideal. Ele simplifica bastante o gerenciamento do acesso externo.
apiVersion: v1
kind: Service
metadata:
name: my-web-app-lb
spec:
selector:
app: my-web-app
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancerEscolha o Serviço adequado
Sua equipe está implantando uma nova aplicação no Kubernetes. Considere os seguintes cenários:
- Uma API de backend que só precisa ser acessada por outros Serviços dentro do cluster.
- Um servidor web de frontend que precisa ser acessível pela Internet, e cuja implantação será feita em um provedor de nuvem (AWS, GCP ou Azure).
Qual tipo de Serviço é mais adequado para o servidor web de frontend?
Recapitulação: Serviços para acesso à rede
Aprendemos que os Serviços do Kubernetes fornecem acesso estável à rede para pods dinâmicos. Eles são essenciais para que suas aplicações se comuniquem de maneira confiável.
- ClusterIP: somente para comunicação interna no cluster.
- NodePort: expõe um Serviço em uma porta estática no IP de cada nó, permitindo acesso externo em casos de uso específicos.
- LoadBalancer: integra-se a provedores de nuvem para provisionar um balanceador de carga externo para acesso público.
Escolher o tipo de Serviço adequado é essencial para controlar como suas aplicações são expostas.
Perguntas Frequentes
A aula “Serviços para acesso à rede” é grátis?
Sim — o texto completo de “Serviços para acesso à rede” é 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 Docker & DevOps Fundamentals, atualize para CoddyKit PRO. O curso de Docker & DevOps Fundamentals inclui 4 aulas no total.
O que vou aprender em “Serviços para acesso à rede”?
Exponha suas aplicações dentro e fora do cluster usando diferentes tipos de serviços do Kubernetes. Você pratica Docker & DevOps Fundamentals 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 Docker & DevOps Fundamentals?
Nenhuma experiência prévia é necessária. Docker & DevOps Fundamentals 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 2 de 4.
Quanto tempo leva a aula “Serviços para acesso à rede”?
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 Docker & DevOps Fundamentals?
Sim. Cada aula de Docker & DevOps Fundamentals 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
- Implantações para aplicações sem estado
- Serviços para acesso à rede
- ConfigMaps e Secrets
- Ingress e roteamento externo