Sobes.tech
Junior

რა არის NodePort და რა ფუნქციონალობას უზრუნველყოფს?

sobes.tech AI

პასუხი AI-სგან

NodePort Kubernetes- ում ծառայության մի տեսակ է, որը բացում է պորտ յուրաքանչյուր հանգույցում (Node)։ Այս պորտին ուղարկված տրաֆիկը ուղղվում է այս ծառայության հետ կապված Pod-երին։

NodePort-ի գործառույթը՝

  • Կարգավիճակի փոփոխություն: Սպառվում է արտաքին մուտք դեպի ծառայությունը։ Քլաստերից դուրս տրաֆիկը կարող է հասնել ծառայությանը ցանկացած հանգույցի IP-ով և կոնֆիգուրացված NodePort-ով։
  • Պորտեր:
    • NodePort: Դեպի սահմանափակ 30000-32767։ Կարող է փոխվել կլաստի կարգավորումներով։
    • TargetPort: Պորտը Pod-ում, դեպի որը ուղղվում է տրաֆիկը։
    • Port: Պորտ ծառայության ներսում կլաստում։
Պորտ Նկարագրություն Օգտագործում
NodePort Բոլոր հանգույցներում բացված պորտ Արտաքին մուտք դեպի ծառայություն
TargetPort Pod-ում պորտ Տրաֆիկի ուղղում ծառայությունից Pod-ին
Port Ծառայության պորտը կլաստի ներսում Ներքին փոխգործակցություն ծառայությունների միջև
  • Հասանելիություն: Ծառայությունը հասանելի է NodeIP:NodePort հասցեով ցանկացած հանգույցից։
  • Հատկանշական:
    • Պահանջվում է բացել NodePort-ը յուրաքանչյուր հանգույցում։
    • Չի հարմար է արտադրական միջավայրի համար՝ ֆիքսված պորտային տիրույթով և հանգույցի IP- ի գիտելիքով։
    • Ավելի բարդ է մասշտաբայնությունը LoadBalancer կամ Ingress- ի համեմատ։

NodePort ծառայության YAML օրինակ՝

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Ընտրիչ Pod-ների ընտրության համար
  ports:
    - protocol: TCP
      port: 80 # Ծառայության պորտը
      targetPort: 8080 # Pod- ի պորտը
      nodePort: 31000 # Թվային NodePort (ընտրովի, ավտոմատ ընտրվում է, եթե նշված չէ)