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:NodePortiš 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)