Zurück zur Übersicht

Begriff

NodePort (K8s Service)

Kubernetes Networking S1
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Stell dir vor, dein Kubernetes Cluster ist ein Hochhaus. Jedes Zimmer (Pod) hat eine Telefonnummer (IP), aber die kann man von draußen nicht anrufen. Ein NodePort ist ein Loch in der Außenwand. Du bohrst ein Loch in jeden Stock (Node) an der gleichen Stelle (Port 30080). Wenn jemand von der Straße (Internet) irgendeinen Stock auf Port 30080 anruft, wird er direkt zum richtigen Zimmer (Pod) verbunden. Das ist der primitivste Weg, um eine App nach draußen verfügbar zu machen. Nachteil: Du musst dir Ports merken (z. B. "App A ist 30001, App B ist 30002"). Und du hast nur 2768 Löcher (Ports 30000-32767).

Merksatz: Ein Kubernetes-Service-Typ, der einen statischen Port auf jedem Worker-Node öffnet und Traffic von diesem Port an die Pods des Services weiterleitet.


Quick-Check

  1. Is NodePort insecure?
    Ja, wenn der Node direkt im Internet steht (Public IP). Jeder Port-Scanner findet deine App auf 30007. Du solltest eine Firewall (Security Group) davor haben, die nur deine Büro-IP erlaubt.
  2. Warum nutzen wir nicht immer NodePort?
    Unbequem für Nutzer. Niemand tippt google.com:30007. Du brauchst ein DNS-Namen und Port 80/443. NodePort ist gut für Admin-Tools oder Datenbanken, aber schlecht für Enduser-Webseiten.
  3. Port Kollision?
    Wenn Team A Port 30001 wählt und Team B auch -> Deployment Fail. Kubernetes weist deshalb Ports zufällig zu, wenn du nodePort: im YAML weglässt. Das ist sicherer, aber dann musst du jedes Mal kubectl get svc machen, um den Port zu finden.