Sobes.tech
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:NodePort z 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ý)