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:NodePortda 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)