yoklateknik mülakat

DevOps / Cloud K8s Services Networking Mülakat Soruları

75 doğrulanmış DevOps / Cloud K8s Services Networking mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

K8s Services NetworkingZorluk 1
Bir Kubernetes Service, hangi Pod'ların kendisine ait olduğuna nasıl karar verir?
  • aAynı Deployment adıyla oluşturulmuş Pod'ları eşleştirir
  • bService ile aynı Node üzerinde çalışan Pod'ları eşleştirir
  • cEtiketleri label selector'ını karşılayan Pod'ları eşleştirir
  • dService manifest'inde adıyla listelenen Pod'ları eşleştirir
Açıklama:Service'in spec.selector alanı bir label selector'dır: hangi controller tarafından oluşturulduğuna ya da hangi Node'da çalıştığına bakılmaksızın, bu selector'ı karşılayan etiketlere sahip her Pod backend olarak dahil edilir.
K8s Services NetworkingZorluk 1
Bir Deployment'ın rolling update'i tüm Pod'ları yenileriyle (yeni adlar, yeni IP'ler) değiştiriyor. Önlerindeki Service'e bağlanan client'lara ne olur?
  • aClient'lar, Service'in ClusterIP'sini elle yenileyene kadar bağlantı hatası alır
  • bClient'lar aynı sabit Service ClusterIP/DNS adını kullanmaya devam eder
  • cService, her rollout'tan sonra otomatik olarak yeni bir ClusterIP ile yeniden oluşturulur
  • dClient'ların yeni Pod'ların kendi IP adreslerine geçmesi gerekir
Açıklama:Service'in ClusterIP'si ve DNS adı, Service'in ömrü boyunca sabit kalır. Eski Pod'lar yenileriyle değiştirildikçe Service'in endpoint listesi yeni Pod'ları gösterecek şekilde güncellenir, bu yüzden client'ların tek tek Pod IP'lerini bilmesine gerek kalmaz.
K8s Services NetworkingZorluk 2
apiVersion: v1
kind: Service
metadata:
  name: web-svc
spec:
  selector:
    app: web
  ports:
    - port: 80
      targetPort: 80

Bu, Pod'ları app: web etiketini taşıyan bir Deployment ile birlikte uygulandıktan sonra kubectl get endpoints web-svc çalıştırılıyor. Ne gösterir?
  • aapp: web ile eşleşen ve hazır (ready) olan her Pod'un IP:port çifti
  • bweb-svc'ye atanan tek ClusterIP
  • cDeployment adı ve mevcut replica sayısı
  • dBir NodePort veya LoadBalancer da oluşturulana kadar boş bir liste
Açıklama:Endpoints nesnesi (ve karşılığı EndpointSlice), endpoint controller tarafından Service'in selector'ıyla eşleşen ve o an ready olan her Pod'un IP:port'uyla doldurulur — bu canlı olarak doğrulandı: üç ready Pod için kubectl get endpoints web-svc, 10.244.0.6:80,10.244.0.7:80,10.244.0.8:80 döndürdü.
K8s Services NetworkingZorluk 2
Bir Deployment'ın bir Service arkasında 3 replica'sı var. Bir Pod'un readiness probe'u başarısız olmaya başlıyor ama container çalışmaya devam ediyor (yeniden başlatılmıyor). kubectl get pods ve Service'in endpoint listesi ne gösterir?
  • aPod, kubectl get pods çıktısından kaybolur ve Service yalnızca 2 Pod'a yönlendirir
  • bPod otomatik olarak yeniden başlar ve Service 3 Pod'a da yönlendirmeye devam eder
  • cPod yeni bir IP ile Running görünür ve Service'e 4. bir endpoint eklenir
  • dPod hâlâ Running görünür (0/1 ready), ama endpoint listesinden çıkarılır
Açıklama:Bu canlı olarak yeniden üretildi: readiness probe'u başarısız olan bir Pod, kubectl get pods çıktısında Running kalmaya devam etti (ready sayısı 0/1'e düştü), kubectl get endpoints web-svc ise 3 adresten 2'ye düştü — container, başarısız readiness probe ile yeniden başlatılmaz ama Service artık ona trafik göndermez.
K8s Services NetworkingZorluk 2
Bir Service'in selector'ı app: web, ama biri bunu app: nonexistent olarak patch'liyor; arkadaki Pod'lar hâlâ app: web etiketini taşıyor. Service'e ne olur?
  • aService, geçerli bir backend'i kalmadığı için otomatik olarak silinir
  • bService ClusterIP'sini korur, ama endpoint listesi boşalır
  • cService, namespace'teki tüm Pod'ları eşleştirmeye geri döner
  • dService, Pod'lar yeniden başlatılana kadar eski endpoint'lerini korur
Açıklama:Bu canlı olarak yeniden üretildi: web-svc'nin selector'ı hiçbir Pod'un taşımadığı bir etikete patch'lendiğinde kubectl get endpoints web-svc hiç adres göstermedi, kubectl describe svc de boş bir Endpoints: satırı gösterdi — Service nesnesinin kendisi ve ClusterIP'si dokunulmadan kaldı, yalnızca endpoint listesi yeniden hesaplandı.
K8s Services NetworkingZorluk 1
type belirtilmediğinde Kubernetes varsayılan olarak hangi tür Service oluşturur?
  • aClusterIP — yalnızca cluster içinden erişilebilir
  • bNodePort — her Node'un IP'sinde sabit bir port üzerinden erişilebilir
  • cLoadBalancer — harici bir bulut load balancer'ı tedarik eder
  • dExternalName — harici bir hostname'e DNS takma adı
Açıklama:ClusterIP, varsayılan Service türüdür: yalnızca cluster'ın ağı içinden yönlendirilebilen sabit bir sanal IP alır, ki bu tam olarak cluster içi servisler-arası trafiğin ihtiyaç duyduğu şeydir.

3375 soruluk DevOps / Cloud bankasında kendini sına.

Mülakata başla