Sobes.tech
Junior

Kas yra NodePort ir kokią funkcionalumą jis teikia?

sobes.tech AI

Atsakymas iš AI

NodePort yra Kubernetes paslaugos tipas, kuris atveria prievadą kiekviename klasterio mazge (Node). Srautas, siunčiamas į šį prievadą bet kuriame mazge, yra nukreipiamas į su šia paslauga susijusius Podus.

NodePort funkcionalumas:

  • Elgesio pokytis: Suteikia išorinį prieigą prie paslaugos. Srautas už klasterio ribų gali pasiekti paslaugą per bet kurį mazgo IP ir sukonfigūruotą NodePort.
  • Prievadai:
    • NodePort: Standartinis diapazonas 30000-32767. Gali būti pakeistas klasterio nustatymais.
    • TargetPort: Prievadas Pod'e, į kurį nukreipiamas srautas.
    • Port: Paslaugos prievadas viduje klasterio.
Prievadas Aprašymas Naudojimas
NodePort Atidarytas prievadas kiekviename mazge Išorinė prieiga prie paslaugos
TargetPort Prievadas Pod'e Srauto nukreipimas nuo paslaugos į Pod'ą
Port Paslaugos prievadas klasteryje Vidinė sąveika tarp paslaugų
  • Prieinamumas: Paslauga yra pasiekiama adresu NodeIP:NodePort iš bet kurio mazgo klasteryje.
  • Apribojimai:
    • Reikalauja atidaryti NodePort kiekviename mazge.
    • Netinka gamybos aplinkai dėl fiksuoto prievadų diapazono ir poreikio žinoti mazgo IP.
    • Sudėtingiau skalinti nei LoadBalancer ar Ingress.

Pavyzdys YAML NodePort paslaugai:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Pasirinkiklis Pod'ų pasirinkimui
  ports:
    - protocol: TCP
      port: 80 # Paslaugos prievadas
      targetPort: 8080 # Pod'o prievadas
      nodePort: 31000 # Priskirtas NodePort (pasirinktinai, automatiškai pasirenkamas, jei nenurodyta)