Junior
Čo je NodePort a akú funkčnosť poskytuje?
sobes.tech AI
Odpoveď od AI
NodePort je typ služby v Kubernetes, ktorý otvára port na každom uzle (Node) v klastre. Prevádzka odoslaná na tento port na ľubovoľnom uzle je presmerovaná na Pod-ky spojené s touto službou.
Funkcionalita NodePort:
- Zmena správania: Poskytuje externý prístup ku službe. Prevádzka mimo klastera môže dosiahnuť službu cez akúkoľvek IP uzla a nakonfigurovaný NodePort.
- Porty:
- NodePort: Predvolený rozsah 30000-32767. Môže byť zmenený nastaveniami klastru.
- TargetPort: Port na Pod-e, na ktorý je presmerovaný prevádzka.
- Port: Port služby vnútri klastru.
| Port | Popis | Použitie |
|---|---|---|
| NodePort | Port otvorený na každom uzle | Externý prístup ku službe |
| TargetPort | Port na Pod-e | Presmerovanie prevádzky od služby k Pod-u |
| Port | Port služby vnútri klastru | Interná komunikácia medzi službami |
- Dostupnosť: Služba je dostupná na adrese
NodeIP:NodePortz akéhokoľvek uzla v klastre. - Obmedzenia:
- Vyžaduje otvorenie NodePort na každom uzle.
- Nie je vhodné pre produkčné prostredie kvôli pevne stanovenému rozsahu portov a potrebe poznať IP uzla.
- Ťažšie na škálovanie v porovnaní s LoadBalancer alebo Ingress.
Príklad YAML pre NodePort službu:
apiVersion: v1
kind: Service
metadata:
name: my-nodeport-service
spec:
type: NodePort
selector:
app: my-app # Výber pre výber Pod-ov
ports:
- protocol: TCP
port: 80 # Port služby
targetPort: 8080 # Port na Pod-e
nodePort: 31000 # Priradený NodePort (voliteľný, automaticky sa vyberie, ak nie je uvedený)