kubectl logs
- Docker & Kubernetes kursu
- Orta seviye
- Ders 72/82
- 4 dk
Pod günlüklerini kubectl logs ile görmeyi öğrenirsin.
kubectl logs
Sorun gidermenin ilk adımı log'lardır. kubectl logs container'ın stdout/stderr çıktısını gösterir; pod'u adıyla ya da sahibi üzerinden (deploy/web) seçebilirsin:
kubectl logs web-7c5b9f6d8-abcde
kubectl logs deploy/web # deployment'ın bir pod'u
kubectl logs -f deploy/web --since=10m # canlı, son 10 dakika
kubectl logs api-xyz -c log-gonderici # çok container'lı pod
kubectl logs api-xyz --previous # çöken önceki containerLog'lar ne zaman kaybolur?
kubelet log'ları node'da tutar ve döndürür (rotate). Pod silinince ya da başka node'a taşınınca log'ları da gider. Bu yüzden üretimde log'lar merkezi bir sisteme (ileri seviyede: Fluentd, Elasticsearch, Loki) gönderilir. Kısa sorunlar için --previous bir önceki container'ın son log'unu hâlâ verir.
kubectl logs -l app=api --all-containers --prefix --tail=20
kubectl logs api-xyz --timestamps | grep -i errorUygulama Log'ları tara
Üç komut yaz: app=api etiketli tüm pod'ların son 20 satırını önekleriyle göster; api-5d8f7c9b4-qrstu'nun önceki container log'unu göster; deploy/web'in son 10 dakikasını canlı izle.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl logs -l app=api --tail=20 --prefix
kubectl logs api-5d8f7c9b4-qrstu --previous
kubectl logs -f deploy/web --since=10mBeklenen çıktı
[pod/api-5d8f7c9b4-qrstu/api] ERROR veritabanına bağlanılamadı: db:5432 [pod/api-5d8f7c9b4-vwxyz/api] INFO istek /saglik 200 panic: dial tcp 10.96.12.4:5432: connect: connection refused 10.244.1.1 - - "GET / HTTP/1.1" 200 615
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 kubectl logs deploy/web birden çok kopya varken ne gösterir?
- Hata verir
- Pod'lardan yalnızca birinin log'unu Doğru cevap
- Tüm pod'ların log'unu
- Deployment olaylarını
Açıklama: Tüm kopyalar için -l app=web --prefix kullanılır.
2 Tüm container'ların log'unu al.
kubectl logs api-xyz ____
kubectl logs api-xyz --all-containers
Açıklama: --all-containers pod'daki her container'ı kapsar.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
-f |
Canlı izle |
-c |
Container seç |
--previous |
Çökenin log'u |
--prefix |
Pod adı öneki |