Istio nedir?
- Docker & Kubernetes kursu
- Uzman
- Ders 20/47
- 4 dk
Istio'nun service mesh uygulaması olduğunu öğrenirsin.
Istio nedir?
Istio'nun iki katmanı vardır:
- Kontrol düzlemi (
istiod): yapılandırmayı (VirtualService, DestinationRule, politikalar) okur, sertifika dağıtır ve vekillere yapılandırma gönderir. - Veri düzlemi: her pod'daki Envoy vekilleri; trafiği gerçekten taşır.
Bir namespace'i mesh'e katmak için etiketlenir; o namespace'te oluşturulan yeni pod'lara sidecar otomatik eklenir:
kubectl label namespace magaza istio-injection=enabled
kubectl rollout restart deployment -n magaza
kubectl get pods -n magaza
NAME READY STATUS
api-6b5c4d3e2-abcde 2/2 Running # uygulama + istio-proxyMesh'i denetlemek
istioctl, mesh'in durumunu ve olası yapılandırma hatalarını gösterir:
$ istioctl proxy-status
NAME CLUSTER CDS LDS EDS RDS ISTIOD
api-6b5c4d3e2-abcde.magaza Kubernetes SYNCED SYNCED SYNCED SYNCED istiod-7b9c…
$ istioctl analyze -n magaza
✔ No validation issues found when analyzing namespace: magaza.Uygulama Namespace'i mesh'e kat
Dört komut yaz: magaza namespace'ine istio-injection=enabled etiketini ekle; magaza'daki tüm deployment'ları yeniden başlat; magaza'daki pod'ları listele; istioctl analyze -n magaza çalıştır.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl label namespace magaza istio-injection=enabled
kubectl rollout restart deployment -n magaza
kubectl get pods -n magaza
istioctl analyze -n magazaBeklenen çıktı
namespace/magaza labeled deployment.apps/api restarted deployment.apps/web restarted NAME READY STATUS RESTARTS AGE api-6b5c4d3e2-abcde 2/2 Running 0 20s web-5a4b3c2d1-fghij 2/2 Running 0 20s ✔ No validation issues found when analyzing namespace: magaza.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Namespace etiketlendikten sonra mevcut pod'lar neden yeniden başlatılır?
- istiod çöker
- Sidecar yalnızca pod oluşturulurken (admission) eklenir Doğru cevap
- Etiket pod'ları siler
- Gerekli değildir
Açıklama: Enjeksiyon bir mutating admission webhook'tur.
2 Namespace'e otomatik sidecar eklemeyi aç.
kubectl label namespace magaza ____=enabled
kubectl label namespace magaza istio-injection=enabled
Açıklama: istio-injection=enabled enjeksiyonu açar.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
istiod |
Kontrol düzlemi |
Envoy |
Veri düzlemi |
2/2 |
Uygulama + vekil |
istioctl analyze |
Yapılandırma denetimi |