Black Friday · 27 Kasım 2026

Seçili sertifikalarda %90'a varan indirim.

Çok değerli bir kariyer hedefi için tek seferlik fırsat. Sınırlı sayıda kupon, önce bekleme listesine.

Ücretsiz ders · CKAD Hazırlık Programı · Modül 4: Gözlemlenebilirlik ve bakım

Logları Bilinçli Toplamak ve Okumak

Loglar uygulamanın tanıklığıdır; olaylar kümenindir. Önce hangisini okuyacağını ve kapsayıcı çıktısını kopyalar ve yeniden başlamalar arası nasıl dilimleyeceğini bilmek ayıklamanın yarısıdır.

10 dk okuma

Kazanımlar

  • Çökenler dahil kapsayıcı başına logları debelenmeden çekmek
  • Pod adları yerine etiketlerle çok podlu çıktıyı izlemek
  • Stdout neye ait, olaylara neyin ait olduğunu söylemek
  • Satırları yapılandırıp sonraki ayıklamayı okumayla değil filtreyle başlatmak

Neden önemli

CrashLoopBackOff çağrıları loglardan yanıtlanır, umutlu yeniden dağıtımdan değil. On dakikalık düzeltmeyle bir saati genelde alet çantası ayırır: dönmüş çökmenin önceki kapsayıcı logları, filo görünümü için etiket seçili akışlar ve olaylarla ilişen zaman damgaları. CKAD burada akıcılık varsayar, zorluğu başka harcar.

Kavramlar

kubectl logs <pod> -c <kapsayıcı> tek kapsayıcı okur; --previous ölen son örneği okur; çökme nedenleri orada yaşar. --since artı --timestamps çıktıyı sınırlar ve ilişir. -l <seçici> artı --all-containers filoyu aktarır: kopyalar arası tek komut N sekmeyi yener. --tail büyük çıktıları yönetilir tutar.

Stdout disiplini sonraki her şeye karar verir: satır başına tek olay, zaman damgası dahil, önem öneki, istek kimlikleri iletilir. Çok satırlı yığın izleri tek mantıksal satırlara aittir (JSON loglama), yoksa toplayıcılarda paramparça olur. Olaylar (kubectl get events --sort-by) uygulamanın bilemeyeceği küme tarafı olguları taşır: zamanlama, çekmeler, problar, çıkarmalar. Platform nedenlerinde olayları, uygulama nedenlerinde logları oku; kuramdan önce ikisine de bak.

Uygulamalı örnek

Çöken çalışan, düzgün sırayla okunur:

kubectl get pods -l app=worker          # Yeniden başlama sayacı tırmanır
kubectl logs worker-xxx --previous | tail -30   # çökmenin kendisi
kubectl logs -l app=worker --all-containers --since=10m | grep -i error
kubectl get events --field-selector involvedObject.name=worker-xxx

Önceki kapsayıcı logu istisnayı adlandırır; filo taraması tüm kopyaların paylaşıp paylaşmadığını söyler; olaylar platformun katkısını söyler (OOMKilled, başarısız bağlama, imaj çekme). Üç komut, tek kuram, sonra düzeltme.

Sınav notları

Loglar podla ölür, toplanmadıkça: önceki kapsayıcı bir yeniden başlatma derinliğindedir, arşiv değil. Sidecar veya düğüm düzeyi toplama saklamanın gerçek yanıtıdır; sorular iki kapsamı ayırır. Ve ilk koşu podunda --previous açıkça hata verir: önceki örnek yoksa önceki log yoktur, komut bozuk değildir.

Mini kontrol

4 soruluk öz kontrol. Yanıtların cihazında kalır, saklanmaz ve gönderilmez. Yalnızca geçen skor (ör. 4 soruda 3) kaydedilir ve yalnızca ders ilerlemesinin kilidini açmak için: bir dersin tamamlanmış sayılması için en az 3 doğru gerekir. Hiçbir sertifika değerlendirmesine sayılmaz.

Ders geri bildirimi

Henüz yayında geri bildirim yok.

Geri bildirim yazmak için giriş yap ve dersi tamamla.

Kaynaklar

Alıştırma

Kurgusal 3 kopya API yalnız bir kopyada hata verir. Arızalı kopyayı bulan, güncel artı önceki loglarını okuyan ve platformu olaylarla dışlayan tam komut dizisini ver. Her çıktının uygulama hatası ve OOMKilled durumlarında ne göstereceğini söyle.

Geçme kriterleri

Dizi etiket seçimi artı önceki artı olayları kullanır; iki durum da ayırt edici çıktıyla öngörülmüş (paylaşılan/tekil yığın izi, çıkış kodu 137 artı OOMKilled olayı).

İlerlemeni kaydetmek için giriş yapÜcretsiz hesap: yalnızca ders ilerlemen ve quiz sonuçların saklanır.