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 (ընտրովի, ավտոմատ ընտրվում է, եթե նշված չէ)