kubectl logs ile Günlük Kaydı
kubectl kullanarak kapsayıcı günlüklerine doğrudan Kubernetes kümenizden erişin ve bunları analiz edin.
kubectl logs ile Günlük Kaydı, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Kubernetes'te Günlükler Neden Önemlidir?
Kubernetes'te uygulamalarınızın ne yaptığını anlamak çok önemlidir. Günlükler; olayları, hataları ve durum güncellemelerini kaydeden uygulama günlüğünüz gibidir.
Şunlar için gereklidir:
- Hata Ayıklama: Bir şeyler ters gittiğinde sorunların kaynağını belirleme.
- İzleme: Uygulamanın durumunu ve performansını takip etme.
- Denetleme: İşlemleri ve değişiklikleri zaman içinde izleme.
Kapsayıcı Günlükleri Açıklaması
Kapsayıcılı bir uygulama çalıştığında genellikle çıktıyı standart çıktı (stdout) ve standart hata (stderr) akışlarına yazar. Kubernetes bu akışları her kapsayıcı için toplar.
Bu akışlar daha sonra Kubernetes API'si üzerinden kullanılabilir hâle gelir. Böylece düğümlere veya tek tek kapsayıcılara SSH ile bağlanmadan bunlara kolayca erişebilirsiniz.
kubectl logs Komutuna Giriş
kubectl logs komutu, Kubernetes Pod'larınızda çalışan kapsayıcıların günlüklerine erişmek için temel aracınızdır. Kullanımı basittir ve birkaç güçlü seçenek sunar.
En temel kullanımda incelemek istediğiniz Pod'un adını belirtmeniz yeterlidir.
Günlük Üreten Bir Pod Oluşturma
kubectl logs komutunu uygulamada görmek için standart çıktısına sürekli olarak iletiler yazan basit bir Pod dağıttığınızı düşünelim. Bu, günlükler üreten gerçek bir uygulamayı taklit eder.
Böyle bir Pod için YAML şöyledir (kubectl apply -f kullanarak uygulamanız gerekir):
apiVersion: v1
kind: Pod
metadata:
name: busybox-logger
spec:
containers:
- name: busybox-container
image: busybox
command: ['sh', '-c', 'while true; do echo "$(date) - Hello from BusyBox"; sleep 5; done']
restartPolicy: AlwaysTemel Pod Günlüklerini Görüntüleme
busybox-logger Pod'unuz çalışır durumdayken (kubectl get pods ile kontrol edebilirsiniz), temel kubectl logs komutunu kullanarak günlüklerini alabilirsiniz.
Bu işlem, o ana kadar kaydedilmiş tüm günlük girdilerini gösterir.
kubectl logs busybox-loggerGerçek Zamanlı Günlükleri Akış Olarak Görüntüleme
Canlı hata ayıklama sırasında, Linux'taki tail -f komutuna benzer şekilde günlükleri oluştukları anda görmeniz gerekir. -f veya --follow seçeneği tam olarak bunu yapar.
Konteynerden gelen yeni günlük girdilerini sürekli olarak akış halinde gösterir.
kubectl logs -f busybox-loggerÖnceki Konteynerlerin Günlükleri
Pod'unuzdaki bir konteyner çöker ve yeniden başlatılırsa, kubectl logs varsayılan olarak o anda çalışan *mevcut* örneğin günlüklerini gösterir.
Bir konteynerin *önceki*, sonlandırılmış örneğinin günlüklerini görüntülemek için --previous veya -p seçeneğini kullanın. Bu, bir konteynerin neden başarısız olmuş olabileceğini hata ayıklarken son derece değerlidir.
kubectl logs -p busybox-loggerBelirli Konteynerlerin Günlükleri
Bazı Pod'lar birden çok konteyner çalıştırabilir (örneğin, bir ana uygulama ve günlük kaydı veya izleme için kullanılan bir yardımcı konteyner). Pod'unuzda birden fazla konteyner varsa, -c veya --container seçeneğini kullanarak hangi konteynerin günlüklerini görmek istediğinizi belirtmeniz gerekir.
kubectl logs my-multi-container-pod -c my-sidecar-containerGünlük Çıktısını Filtreleme ve Sınırlama
Bazen günlüklerin yalnızca belirli bir bölümüne veya sadece en son girdilere ihtiyacınız olur. kubectl logs komutunu standart Linux komutlarıyla birleştirebilir veya yerleşik seçenekleri kullanabilirsiniz:
grepile filtreleme: Belirli anahtar kelimeleri bulmak için çıktıyıgrep'e aktarın.--tailile satırları sınırlama: Günlüklerin yalnızca son N satırını görüntüleyin.
kubectl logs busybox-logger | grep "Hello"
kubectl logs busybox-logger --tail=5Günlük Komutu Görevi
my-app-pod adlı ve frontend ile backend adında iki konteyner içeren bir Pod'unuz var. backend konteyneri kısa süre önce çöktü ve yeniden başlatıldı. backend konteynerinin önceki örneğinin günlüklerini görüntülemek istiyorsunuz.
Günlükler ve Hata Ayıklama Özeti
Tebrikler! kubectl logs kullanarak konteyner günlüklerine erişmenin ve bunları analiz etmenin temel yollarını öğrendiniz. Bu güçlü komut, Kubernetes'te çalışan uygulamalarınızı anlamak ve sorunlarını gidermek için vazgeçilmezdir.
Hatırlamanız gereken temel komutlar:
kubectl logs <pod-name>: Temel günlük alma.kubectl logs -f <pod-name>: Günlükleri gerçek zamanlı olarak akış halinde gösterme.kubectl logs -p <pod-name>: Önceki bir konteyner örneğinin günlüklerini görüntüleme.kubectl logs -c <container> <pod-name>: Belirli bir konteynerin günlüklerini hedefleme.
Sıkça Sorulan Sorular
“kubectl logs ile Günlük Kaydı” dersi ücretsiz mi?
Evet — “kubectl logs ile Günlük Kaydı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“kubectl logs ile Günlük Kaydı” dersinde ne öğreneceğim?
kubectl kullanarak kapsayıcı günlüklerine doğrudan Kubernetes kümenizden erişin ve bunları analiz edin. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“kubectl logs ile Günlük Kaydı” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- kubectl logs ile Günlük Kaydı
- Prometheus ve Grafana ile Ölçümler
- Sağlık Denetimleri: Canlılık ve Hazır Olma Yoklamaları
- Dağıtık İzleme ve Olaylar