Ü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ı).