Sobes.tech
Junior

O que é NodePort e que funcionalidade oferece?

sobes.tech IA

Resposta da IA

NodePort é um tipo de Service no Kubernetes que abre uma porta em cada Nó do cluster. O tráfego enviado para essa porta em qualquer Nó é redirecionado para os Pods associados a esse Service.

Funcionalidade do NodePort:

  • Alteração de comportamento: Fornece acesso externo ao serviço. O tráfego externo ao cluster pode atingir o serviço através de qualquer IP do Nó e do NodePort configurado.
  • Portas:
    • NodePort: Faixa padrão 30000-32767. Pode ser alterada pelas configurações do cluster.
    • TargetPort: Porta no Pod para a qual o tráfego é redirecionado.
    • Port: Porta do Service dentro do cluster.
Porta Descrição Uso
NodePort Porta aberta em cada Nó Acesso externo ao serviço
TargetPort Porta no Pod Redirecionamento de tráfego do Service para o Pod
Port Porta do Service dentro do cluster Interação interna entre serviços
  • Disponibilidade: O serviço está acessível em NodeIP:NodePort de qualquer Nó do cluster.
  • Restrições:
    • Requer abrir o NodePort em cada Nó.
    • Não adequado para ambientes de produção devido à faixa fixa de portas e à necessidade de conhecer o IP do Nó.
    • É mais difícil de escalar em comparação com LoadBalancer ou Ingress.

Exemplo YAML para NodePort Service:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Seletor para escolher Pods
  ports:
    - protocol: TCP
      port: 80 # Porta do Service
      targetPort: 8080 # Porta no Pod
      nodePort: 31000 # NodePort atribuído (opcional, será selecionado automaticamente se não especificado)