CodeBlanks Logo Icon CodeBlanks

Meydan okuma - Service

NodePort Service yazıp Pod'lara bağlarsın.

Meydan okuma: iç ve dış servis

Bir uygulamanın iki yüzü vardır: iç servisler (API, veritabanı) yalnızca cluster içinden, ön yüz ise dışarıdan erişilir. Bu meydan okumada her ikisi için doğru Service'leri yazıp çalıştıklarını doğrulayacaksın.

api (ClusterIP)  : http://api:8000          # yalnızca cluster içi
web (NodePort)   : http://<node-ip>:30080   # dışarıdan

kubectl run -it --rm t --image=busybox:1.36 --restart=Never -- wget -qO- http://api:8000/saglik

Uygulama API servisi

Bir Service YAML'ı yaz: adı api, type: ClusterIP; selector app: api; port port: 8000, targetPort: 8000.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: v1
kind: Service
metadata:
  name: api
spec:
  type: ClusterIP
  selector:
    app: api
  ports:
    - port: 8000
      targetPort: 8000

Beklenen çıktı

service/api created

Uygulama Web servisi ve doğrulama

İki komut yaz: web deployment'ını --type=NodePort --port=80 --target-port=8080 ile expose et; busybox:1.36 ile, çıkınca silinen ve yeniden başlamayan etkileşimli t pod'unda wget -qO- http://api:8000/saglik çalıştır.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl expose deployment web --type=NodePort --port=80 --target-port=8080
kubectl run -it --rm t --image=busybox:1.36 --restart=Never -- wget -qO- http://api:8000/saglik

Beklenen çıktı

service/web exposed
{"durum":"ok"}
pod "t" deleted

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 API servisinde port: 8000 ve targetPort: http yazmak mümkün müdür?

  • Yalnızca NodePort'ta
  • Yalnızca HTTPS için
  • Evet; container portu name: http ile adlandırıldıysa Doğru cevap
  • Hayır, targetPort sayı olmalı

Açıklama: Adlandırılmış port, container portu değişse de servisi değiştirmeden çalışır.

2 Servisi yalnızca cluster içinde aç.

Soru
spec:
  type: ____
Cevap
spec:
  type: ClusterIP

Açıklama: ClusterIP varsayılan ve iç türdür.

3 Eşleştir.

Kavram Anlamı
api ClusterIP İç erişim
web NodePort Dış erişim
targetPort: http Adlandırılmış port
wget http://api:8000 İç doğrulama

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