Sobes.tech
Junior

Ce este NodePort și ce funcționalitate oferă?

sobes.tech AI

Răspuns de la AI

NodePort este un tip de Service în Kubernetes care deschide un port pe fiecare Nod din cluster. Traficul trimis către acest port pe orice Nod este redirecționat către Pod-urile asociate cu acest Service.

Funcționalitatea NodePort:

  • Schimbare de comportament: Oferă acces extern la serviciu. Traficul din afara clusterului poate ajunge la serviciu prin orice IP al Nodului și NodePort-ul configurat.
  • Porturi:
    • NodePort: Interval implicit 30000-32767. Poate fi modificat prin setările clusterului.
    • TargetPort: Port pe Pod către care se redirecționează traficul.
    • Port: Portul Service-ului în interiorul clusterului.
Port Descriere Utilizare
NodePort Port deschis pe fiecare Nod Acces extern la serviciu
TargetPort Port pe Pod Redirecționarea traficului de la Service la Pod
Port Portul Service-ului în interiorul clusterului Interacțiune internă între servicii
  • Disponibilitate: Serviciul este accesibil la adresa NodeIP:NodePort de pe orice Nod din cluster.
  • Restricții:
    • Necesită deschiderea NodePort pe fiecare Nod.
    • Nu este potrivit pentru mediile de producție din cauza intervalului fix de porturi și a necesității de a cunoaște IP-ul Nodului.
    • Este mai dificil de scalat comparativ cu LoadBalancer sau Ingress.

Exemplu YAML pentru NodePort Service:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Selector pentru alegerea Pod-urilor
  ports:
    - protocol: TCP
      port: 80 # Portul Service-ului
      targetPort: 8080 # Portul pe Pod
      nodePort: 31000 # NodePort atribuit (opțional, se va alege automat dacă nu este specificat)