CodeBlanks Logo Icon CodeBlanks

Service mesh nedir?

Service mesh'in trafik yönetimi sağladığını öğrenirsin.

Service mesh nedir?

Service mesh, servisler arası ağ trafiğini uygulama kodunu değiştirmeden yöneten bir altyapı katmanıdır. Her pod'un yanına bir vekil (sidecar) konur ya da node düzeyinde vekiller kullanılır; tüm trafik bu vekillerden geçer. Böylece şu özellikler merkezi olarak eklenir:

  • Trafik yönetimi: kanarya, yeniden deneme, zaman aşımı, devre kesici
  • Güvenlik: servisler arası otomatik mTLS, yetkilendirme politikaları
  • Gözlemlenebilirlik: her istek için ölçüm ve dağıtık izleme
api ──► [envoy] ═══ mTLS ═══ [envoy] ──► db
         ▲ yeniden deneme, ölçüm, politika

Seçenekler

Yaygın mesh'ler:

  • Istio: en kapsamlı; Envoy sidecar'ları ya da sidecar'sız "ambient" mod.
  • Linkerd: hafif, kurulumu basit; Rust ile yazılmış kendi vekili.
  • Cilium Service Mesh: eBPF ile çekirdek düzeyinde, sidecar'sız.
istioctl install --set profile=default -y
kubectl get pods -n istio-system
NAME                                    READY   STATUS
istiod-7b9c8d6f5-x2k9p                  1/1     Running
istio-ingressgateway-5c6d7e8f9-a1b2c    1/1     Running

Uygulama Istio'yu kur

İki komut yaz: Istio'yu default profiliyle onay sormadan kur; istio-system'daki pod'ları listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
istioctl install --set profile=default -y
kubectl get pods -n istio-system

Beklenen çıktı

✔ Istio core installed
✔ Istiod installed
✔ Ingress gateways installed
✔ Installation complete
NAME                                    READY   STATUS    RESTARTS   AGE
istio-ingressgateway-5c6d7e8f9-a1b2c    1/1     Running   0          40s
istiod-7b9c8d6f5-x2k9p                  1/1     Running   0          55s

Soru ve cevaplar

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

1 Service mesh'in başlıca avantajı nedir?

  • Veritabanı yedeği almak
  • Image boyutunu küçültmek
  • Yeniden deneme, mTLS ve ölçüm gibi işleri her uygulamaya ayrı ayrı kodlamadan sağlamak Doğru cevap
  • Pod'ları hızlandırmak

Açıklama: Bedeli ek gecikme ve işletme karmaşıklığıdır.

2 Istio'yu varsayılan profille kur.

Soru
istioctl install --set ____=default -y
Cevap
istioctl install --set profile=default -y

Açıklama: profile hazır yapılandırma kümesidir (default, demo, minimal).

3 Eşleştir.

Kavram Anlamı
Istio Envoy tabanlı, kapsamlı
Linkerd Hafif mesh
Cilium eBPF tabanlı
sidecar Pod yanındaki vekil

Uzman bölümündeki tüm dersler