Pular para o conteúdo principal

Capítulo 4.2 - Tipos de Services

Objetivos de Aprendizagem​

Ao final deste capítulo, você será capaz de:

  • Compreender os 4 tipos de Services
  • Escolher o tipo certo conforme o caso de uso
  • Configurar cada tipo de Service
  • Entender as diferenças

Tipos de Services​

O Kubernetes oferece 4 tipos de Services:


1. ClusterIP (Padrão)​

Acesso interno ao cluster apenas.

apiVersion: v1
kind: Service
metadata:
name: clusterip-service
spec:
type: ClusterIP # Padrão
selector:
app: web
ports:
- port: 80

Caso de uso: Comunicação entre services dentro do cluster.


2. NodePort​

Expõe o Service em uma porta de cada node (30000-32767).

apiVersion: v1
kind: Service
metadata:
name: nodeport-service
spec:
type: NodePort
selector:
app: web
ports:
- port: 80
targetPort: 8080
nodePort: 30080 # Opcional

Caso de uso: Acesso externo sem load balancer de cloud.


3. LoadBalancer​

Expõe via um load balancer do provedor de cloud.

apiVersion: v1
kind: Service
metadata:
name: loadbalancer-service
spec:
type: LoadBalancer
selector:
app: web
ports:
- port: 80

Caso de uso: Aplicações públicas em produção.


4. ExternalName​

Alias para um serviço externo.

apiVersion: v1
kind: Service
metadata:
name: external-service
spec:
type: ExternalName
externalName: database.example.com

Caso de uso: Referenciar serviços externos como se fossem internos.


Comparação​

TipoAcessoIPPortaCaso de Uso
ClusterIPInternoCluster IP80Services internos
NodePortExternoNode IP30000-32767Dev/Teste
LoadBalancerExternoCloud IP80Produção
ExternalNameInternoCNAME-Serviços externos

Resumo​

Neste capítulo, você aprendeu:

ClusterIP: Apenas acesso interno (padrão)
NodePort: Expõe em porta de cada node
LoadBalancer: Via load balancer de cloud
ExternalName: Alias para serviço externo
Escolha: Conforme o caso de uso (interno/externo, dev/prod)


Próximos Passos​

Agora que você conhece os tipos:

Capítulo 4.3: Service Discovery
Lab 4.1: Services ClusterIP e NodePort


Capítulo criado em: Dezembro 2024