CodeBlanks Logo Icon CodeBlanks

NodePort

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

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: v1
kind: Service
metadata:
  name: web
spec:
  type: NodePort
  selector:
    app: web
  ports:
    - port: 80
      targetPort: 8080
      nodePort: 30080

Beklenen çı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.

Soru
spec:
  type: ____
Cevap
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ığı

Orta seviye bölümündeki tüm dersler