Junior
Co je to NodePort a jakou funkčnost poskytuje?
sobes.tech AI
Odpověď od AI
NodePort je typ služby v Kubernetes, který otevírá port na každém uzlu (Node) v clusteru. Provoz zaslaný na tento port na jakémkoli uzlu je přesměrován na příslušné Pod(y) spojené s touto službou.
Funkce NodePort:
- Změna chování: Poskytuje externí přístup ke službě. Provoz mimo cluster může dosáhnout služby přes jakoukoli IP adresu uzlu a nakonfigurovaný NodePort.
- Porty:
- NodePort: Výchozí rozsah 30000-32767. Může být změněn nastavením clusteru.
- TargetPort: Port na Podu, na který je přesměrován provoz.
- Port: Port služby uvnitř clusteru.
| Port | Popis | Použití |
|---|---|---|
| NodePort | Port otevřený na každém uzlu | Externí přístup ke službě |
| TargetPort | Port na Podu | Přesměrování provozu od služby k Podu |
| Port | Port služby uvnitř clusteru | Vnitřní komunikace mezi službami |
- Dostupnost: Služba je dostupná na adrese
NodeIP:NodePortz jakéhokoli uzlu v clusteru. - Omezení:
- Vyžaduje otevření NodePort na každém uzlu.
- Není vhodné pro produkční prostředí kvůli pevně stanovenému rozsahu portů a nutnosti znát IP uzlu.
- Složitější škálování ve srovnání s LoadBalancer nebo Ingress.
Příklad YAML pro NodePort službu:
apiVersion: v1
kind: Service
metadata:
name: my-nodeport-service
spec:
type: NodePort
selector:
app: my-app # Výběr pro výběr Podů
ports:
- protocol: TCP
port: 80 # Port služby
targetPort: 8080 # Port na Podu
nodePort: 31000 # Přiřazený NodePort (volitelný, automaticky vybrán, pokud není uveden)