Sobes.tech
Junior

Wat is NodePort en welke functionaliteit biedt het?

sobes.tech AI

Antwoord van AI

NodePort is een type Service in Kubernetes dat een poort opent op elke Node in de cluster. Verkeer dat naar deze poort op een willekeurige Node wordt gestuurd, wordt doorgestuurd naar de Pods die aan deze Service zijn gekoppeld.

Functionaliteit van NodePort:

  • Gedragsverandering: Biedt externe toegang tot de service. Het verkeer buiten de cluster kan de service bereiken via elk IP van een Node en de geconfigureerde NodePort.
  • Poorten:
    • NodePort: Standaard bereik 30000-32767. Kan worden gewijzigd via clusterinstellingen.
    • TargetPort: Poort op de Pod waarnaar verkeer wordt doorgestuurd.
    • Port: Poort van de Service binnen de cluster.
Poort Beschrijving Gebruik
NodePort Poort geopend op elke Node Externe toegang tot de service
TargetPort Poort op de Pod Verkeer van de Service naar de Pod doorsturen
Port Poort van de Service binnen de cluster Interne communicatie tussen services
  • Beschikbaarheid: De service is bereikbaar via NodeIP:NodePort vanaf elke Node in de cluster.
  • Beperkingen:
    • Vereist het openen van de NodePort op elke Node.
    • Niet geschikt voor productieomgevingen vanwege het vaste poortbereik en de noodzaak om het IP van de Node te kennen.
    • Moeilijker schaalbaar in vergelijking met LoadBalancer of Ingress.

Voorbeeld YAML voor NodePort Service:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Selector voor het kiezen van Pods
  ports:
    - protocol: TCP
      port: 80 # Poort van de Service
      targetPort: 8080 # Poort op de Pod
      nodePort: 31000 # Toegewezen NodePort (optioneel, wordt automatisch gekozen als niet gespecificeerd)