Sobes.tech
Junior

Cos'è NodePort e quale funzionalità offre?

sobes.tech AI

Risposta dell'AI

NodePort è un tipo di Service in Kubernetes che apre una porta su ogni Nodo del cluster. Il traffico inviato a questa porta su qualsiasi Nodo viene reindirizzato ai Pod associati a questo Service.

Funzionalità di NodePort:

  • Cambio di comportamento: Fornisce accesso esterno al servizio. Il traffico esterno al cluster può raggiungere il servizio tramite qualsiasi IP del Nodo e il NodePort configurato.
  • Porti:
    • NodePort: Intervallo predefinito 30000-32767. Può essere modificato tramite le impostazioni del cluster.
    • TargetPort: Porta sul Pod a cui viene reindirizzato il traffico.
    • Port: Porta del Service all'interno del cluster.
Porta Descrizione Uso
NodePort Porta aperta su ogni Nodo Accesso esterno al servizio
TargetPort Porta sul Pod Reindirizzamento del traffico dal Service al Pod
Port Porta del Service all'interno del cluster Interazione interna tra servizi
  • Disponibilità: Il servizio è accessibile tramite NodeIP:NodePort da qualsiasi Nodo del cluster.
  • Restrizioni:
    • Richiede l'apertura del NodePort su ogni Nodo.
    • Non adatto per ambienti di produzione a causa dell'intervallo fisso di porte e della necessità di conoscere l'IP del Nodo.
    • Più difficile da scalare rispetto a LoadBalancer o Ingress.

Esempio YAML per NodePort Service:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Selettore per scegliere i Pod
  ports:
    - protocol: TCP
      port: 80 # Porta del Service
      targetPort: 8080 # Porta sul Pod
      nodePort: 31000 # NodePort assegnato (opzionale, viene scelto automaticamente se non specificato)