NodePort
- Docker & Kubernetes kursu
- Orta seviye
- Ders 39/82
- 4 dk
NodePort service türünü öğrenirsin.
NodePort
NodePort, servisi her node'un IP'sinde sabit bir portta (varsayılan aralık 30000–32767) dışarıya açar. ClusterIP'nin üstüne kurulur; trafik node portundan servise, oradan pod'lara gider:
apiVersion: v1
kind: Service
metadata:
name: web
spec:
type: NodePort
selector:
app: web
ports:
- port: 80
targetPort: 8080
nodePort: 30080
Minikube'de minikube service web --url adresi verir. Üretimde NodePort genellikle doğrudan değil, bir yük dengeleyicinin arkasında kullanılır.
Port alanlarının özeti
NodePort servisinde üç port vardır ve sık karıştırılır:
dış istemci ──► node_ip:nodePort (30080)
└─► servis ClusterIP:port (80)
└─► pod_ip:targetPort (8080)nodePort yazılmazsa aralıktan rastgele seçilir; çakışmaları önlemek için çoğu zaman Kubernetes'e bırakılır.
Uygulama NodePort servisi
Bir Service YAML'ı yaz: adı web, type: NodePort; selector app: web; port port: 80, targetPort: 8080, nodePort: 30080.
Başlangıç kodu
# buraya yazÖrnek çözüm
apiVersion: v1
kind: Service
metadata:
name: web
spec:
type: NodePort
selector:
app: web
ports:
- port: 80
targetPort: 8080
nodePort: 30080Beklenen çıktı
service/web created NAME TYPE CLUSTER-IP PORT(S) AGE web NodePort 10.96.45.12 80:30080/TCP 1s
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 nodePort: 30080 olan bir servise cluster dışından nasıl erişilir?
- Yalnızca pod IP'siyle
- ClusterIP ile
- Erişilemez
- Herhangi bir node'un IP'si ve 30080 portuyla Doğru cevap
Açıklama: Pod o node'da olmasa bile kube-proxy trafiği yönlendirir.
2 Servis türünü NodePort yap.
spec:
type: ____
spec:
type: NodePort
Açıklama: Tür adları büyük-küçük harfe duyarlıdır.
3 Portları eşleştir.
| Kavram | Anlamı |
|---|---|
nodePort |
Node üzerindeki dış port |
port |
Servis portu |
targetPort |
Container portu |
30000–32767 |
Varsayılan NodePort aralığı |