Sobes.tech
Junior

Was ist NodePort und welche Funktionalität bietet es?

sobes.tech KI

Antwort von AI

NodePort ist ein Service-Typ in Kubernetes, der einen Port auf jedem Knoten im Cluster öffnet. Der an diesen Port auf einem beliebigen Knoten gesendete Traffic wird an die mit diesem Service verbundenen Pods weitergeleitet.

Funktionalität von NodePort:

  • Verhaltensänderung: Bietet externen Zugriff auf den Service. Der Traffic außerhalb des Clusters kann den Service über jede IP des Knotens und den konfigurierten NodePort erreichen.
  • Ports:
    • NodePort: Standardbereich 30000-32767. Kann durch Cluster-Einstellungen geändert werden.
    • TargetPort: Port auf dem Pod, an den der Traffic weitergeleitet wird.
    • Port: Port des Service innerhalb des Clusters.
Port Beschreibung Verwendung
NodePort Auf jedem Knoten geöffneter Port Externer Zugriff auf den Service
TargetPort Port auf dem Pod Weiterleitung des Traffics vom Service zum Pod
Port Port des Service im Cluster Interne Kommunikation zwischen Services
  • Verfügbarkeit: Der Service ist unter NodeIP:NodePort von jedem Knoten im Cluster erreichbar.
  • Einschränkungen:
    • Erfordert das Öffnen des NodePorts auf jedem Knoten.
    • Nicht geeignet für Produktionsumgebungen wegen des festen Portbereichs und der Notwendigkeit, die IP des Knotens zu kennen.
    • Schwerer skalierbar im Vergleich zu LoadBalancer oder Ingress.

Beispiel YAML für NodePort Service:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Selektor zur Auswahl der Pods
  ports:
    - protocol: TCP
      port: 80 # Port des Service
      targetPort: 8080 # Port auf dem Pod
      nodePort: 31000 # Zugewiesener NodePort (optional, wird automatisch ausgewählt, wenn nicht angegeben)