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:NodePortde 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)