Kubernetes Bölüm 7: Loglama

Her sistemde olduğu gibi Kubernetes’te logları takip etmek oldukça önemlidir. Monitör etme, debug etme gibi çok temel işlevlerine yerine getirebiliyor olmak hayat kurtarıcıdır. Kubernetes’te log üretilen yapılar şöyledir:

  • Pod
  • Container
  • Kubernetes bileşenleri
  • Daemon Set
  • Kubernetes servisleri

Oluşan loglara Kubernetes API ile erişilebiliyor.

Loglama Yapıları

Loglama yapıları ikiye ayrılır: Node Level ve Cluster Level.

Node Level Loglama

Node’larda container veya Pod’lardaki loglar stdout ve stderr dosyalarına yazılır. Bu loglar istenirse container engine’de konfigüre edilebilen bir yere (dosyaya) gönderilebilirler.

Node seviyesindeki loglara kubectl logs komutu kullanılarak Kubelet üzerinden ulaşılabilir. Ayrıca log rotation’a dikkat etmek önemlidir.

Cluster Level

Cluster içindeki tüm loglara erişim için Kubernetes tarafından sağlanan bir yöntem yok. Buna çözüm olarak Log Processor / Forwarder yapıları kullanılıyor.

Side-car Container Yapısı: Yancı olarak tabir ediliyor. Temelde bir pod içerisine bir container yerleştirildiğinde bununla birlikte Side-car Container da yerleştirilir ve bu container logları toplayarak merkezi bir sisteme logları yazar.

Node-level Logging Agent Yapısı: Bu yapıda Node üzerinde bir Agent Pod ayağa kaldırılır ve Pod’lardan stderr veya stdout dosyalarına yazılan logları toplar ve merkezi bir sisteme logları yazar.

Merkezi log toplama ve yazıldığı yapıda genelde ELK (ElasticSearch – Kibana – Logstash) veya Fluentd tercih ediliyor.

Loglama Örnek

Örnek bir loglama yapısı için şöyle bir YAML dosyası geliştirebilyoruz:

Önce YAML dosyamızdaki logging-ns isimli namespace’imizi oluşturalım.

YAML dosyamızı kullanarak declarative şekilde Pod’umuzu yaratalım.

Namespace’deki Pod’ları listeleyelim.

Pod’umuzun detaylarına bakalım.

Loglarını inceleyelim

Burada tabii sadece date bilgisini yazdırıyoruz, ihtiyaca yönelik bunu ayarlamak gerekiyor.

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.