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